Как загрузить переменную сценария Java в текстовое поле модели начальной загрузки в качестве значения

13

У меня есть проблема с загрузкой переменной javascript в поле ввода модели начальной загрузки:

setTimeout(function() {
  swal({
      title: "OverTime Status!",
      text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
      type: "warning",
      confirmButtonText: "OK"
    },
    function(isConfirm) {
      if (isConfirm) {

        $('#hours_work').val(data.value); //data.value alert the correct value in here.but this value not load in to the bootstrap model text box 
        $('#overtime_requset').modal('show');
        clear_field();
      }
    });
}, 1);
<div class="modal" id="overtime_requset">
  <div class="modal-dialog ">
    <form id="overtime_requset_form">
      <div class="modal-content">

        <!-- Modal Header -->
        <div class="modal-header">
          <h4 class="modal-title">Sub OT Request</h4>
          <button type="button" class="close" data-dismiss="modal">&times;</button>
        </div>

        <!-- Modal body -->
        <div class="modal-body">
          <div class="form-group">
            <div class="input-daterange">
              <input type="text" name="from_date" id="from_date" class="form-control" value="<?php echo $_GET[" month "]; ?>" readonly />
              <span id="error_from_date" class="text-danger"></span>
              <span id="error_future_from_date" class="text-danger text-center"></span>
            </div>
          </div>
          <div class="form-group">
            <label class="text-info">Tolal Number Of Employee <?php echo get_total_employee_count($connect,$_SESSION["dept_Id"])?></br>
            <label>Add the addition number of OT hours requried</lable>
            <input type="text" name="hours_work" id="hours_work"  class="form-control" value=""/>
            <label class="text-secondary">Approved OT hours :   <?php echo GetApprovedOt($connect,$_SESSION["dept_Id"],$currentMonth)?></br></label><br>
            <label class="text-secondary">Pendding OT hours :  <?php echo GetPendingOt($connect,$_SESSION["dept_Id"],$currentMonth)?></label>
          </div>
        </div>
        <!-- Modal footer -->
        <div class="modal-footer">
          <button type="button" name="get_approval" id="get_approval" class="btn btn-info btn-sm">Get Approval</button>
          <button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Close</button>
        </div>

      </div>
    </form>
  </div>
</div>

data.value предупреждает правильное значение здесь. Но это значение не загружается в текстовое поле модели начальной загрузки. В чем моя ошибка? Как мне это исправить? (единственная проблема - передать значение JavaScript, не загруженное во внутреннее текстовое поле. Оно может выводиться как HTML в тег div)

Обновление я использовал следующие cdn sweetAlert boostrap

<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css" />
Код Крис
источник
Попробуйте функцию setText ()
Ахамед Сафнай,
не работаю, братан. Я думаю, что проблема в чем-то другом
Код Крис
Я думаю, что вы не связали файл JS. написать функцию оповещения и убедитесь, что вы связали ее ..
Ахамед Сафнай
оповещения (data.value); показать правильное значение
Код Крис
1
Я использую последний CDN 'Sweetalert'
Код Крис

Ответы:

5

Ваш опубликованный код немного не хватает и есть некоторые ошибки, в любом случае я пытался воспроизвести вашу проблему, и я думаю, что я мог заставить его работать. Посмотрите на приведенный ниже фрагмент jsfiddle и посмотрите, сможете ли вы реализовать его в своем коде, чтобы он заработал.

ПРОВЕРЬТЕ ЭТУ ССЫЛКУ ВПЕРВЫЕ: https://jsfiddle.net/b1nary/je60gxv8/2/

ОБНОВЛЕНО ВАШИМ СВИТАЛЕРТОМ: https://jsfiddle.net/b1nary/je60gxv8/11/

setTimeout(function() {
    swal({
    title: "OverTime Status!",
    text: "You Need to get Sub OT Approval " + data_val + " Hours to Time allocate",
    type: "warning",
    showCancelButton: true,
    confirmButtonText: "Yes, do it",
    closeOnConfirm: false,
    html: false
  }, function(){
    swal("Deleted!",
    "Poof! Your number has been added to input box!",
    "success");
    $('#hours_work').val(data_val); 
    $('#overtime_requset').modal('show');
    //clear fields    
  });

}, 1000 );
Galzor
источник
я использовал сладкое оповещение для bootstrap.not sweetalert
Код Крис
1
<link rel = "stylesheet" href = " cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/… " />
Code Kris
выше двух CDN для получения оповещения
Код Крис
если вы можете загрузить значение в текстовое поле, я приму ваш ответ как правильный. В любом случае, большое спасибо за ваш ценный вклад
Code Kris
3

Попробуй это. Я думаю, function(isConfirm)это проблема.

Вам нужно использовать функцию then ()

    swal({
      title: "OverTime Status!",
      text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
      type: "warning",
      showCancelButton: false
    }).then(function (result) {
        $('#hours_work').val(data.value);
        $('#overtime_requset').modal('show'); 
    });
BCM
источник
модель также не работает в этом случае
Код Крис
1

Для полей ввода формы вам нужно использовать val()вместо text().

Пример: $('#hours_work').val(data.value);

CodyKL
источник
Btw. ты проверил свой код? В приведенном выше коде пропущена одна двойная кавычка (конечная кавычка для класса), это может быть причиной вашей проблемы. <input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
CodyKL
1

Пожалуйста, проверьте ваш синтаксис HTML

старый

<input type="text" name="hours_work" id="hours_work"  class="form-control value=""/>

новый

<input type="text" name="hours_work" id="hours_work"  class="form-control" value=""/>

и проверить по одному

$('#hours_work').val(data.value);
$('#hours_work').text(data.value);
Аршад Шейх
источник
все пытаются, братан. это не работает. Я думаю, что проблема в чем-то другом
Код Крис
просто напишите $ ('# hours_work'). val ('xyz'); в консоли и проверьте, работает ли или выдать ошибку.
Аршад Шейх
попробуйте с var textbox = document.getElementById ('hours_work'); textbox.value = 'xyz';
Аршад Шейх
ваш 1 вариант также не печатать значение
Код Крис
эй, пожалуйста, напишите этот javascript под
Arshad Shaikh
1

Ваша проблема может быть решена, если вы просто используете делегатов. Как вместо прямого использования, $('#hours_work').val(data.value);попробуйте с любым родительским указанием. вашего документа, такого как тело. так $('#hours_work',$('body')).val(data.value);

Вы можете использовать любую родительскую ссылку вашего модального div. в котором ваш модальный код находится вместо тела. родительский div этого div.

Это потому, что ваш домен не знает о ваших модельных элементах, если он динамически загружается.

Дайте мне знать, если это сработало

Солнечный Дану
источник
1

Вы сталкиваетесь с этой проблемой, потому что вы пытаетесь добавить значение в поле #hours_work, которое еще не отображалось в DOM, как $('#overtime_requset').modal('show');рендеринг после присвоения значения, $('#hours_work').val(data.value);и поле ввода является частью Model, поэтому вам просто нужно сначала добавить модель, а затем назначить значение для поля ввода:

setTimeout(function() {
swal({
   title: "OverTime Status!",
   text: "You Need to get Sub OT Approval " + data.value + " Hours to Time 
  allocate in the department",
   type: "warning",
   confirmButtonText: "OK"
 },
 function(isConfirm) {
   if (isConfirm) {

    $('#overtime_requset').modal('show');
    $('#hours_work').val(data.value);
   }
 });
 }, 1);
Сарвеш Махаджан
источник
это не тот случай, я стараюсь. он не работает
Code Kris
Просто убедитесь, что функция clear_field () не очищает назначенное вами значение ввода.
Сарвеш Махаджан
@ nipun258, если это решит твою проблему, оцените, если вы можете проголосовать и отметить ответ, спасибо
Сарвеш Махаджан
никаких проблем по-прежнему не возникает. Я говорю, ясно, функция поля это работает
Код Крис
1

Я работал над вашими требованиями и работает для меня, пожалуйста, запустите ниже код как локально:

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<script>
setTimeout(function() {
    var myArray = {id1: 100, id2: 200};

     swal({
      title: "OverTime Status!",
      text: "You Need to get Sub OT Approval "+ myArray.id1+ "  Hours to Time allocate in the department",
      type: "warning",
      confirmButtonText: "OK"

    },
    function(isConfirm) {
      if (isConfirm) {

        $('#hours_work').val(myArray.id1); //data.value alert the correct value in here.but this value not load in to the bootstrap model text box 
        $('#overtime_requset').modal('show');

      }
      else{
          console.log("test");
      }
    });
}, 1);
 </script>


    <div class="modal" id="overtime_requset">
  <div class="modal-dialog ">
    <form id="overtime_requset_form">
      <div class="modal-content">


        <div class="modal-header">
          <h4 class="modal-title">Sub OT Request</h4>
          <button type="button" class="close" data-dismiss="modal">&times;</button>
        </div>


        <div class="modal-body">
          <div class="form-group">
            <div class="input-daterange">
              <input type="text" name="from_date" id="from_date" class="form-control" value="" readonly />
              <span id="error_from_date" class="text-danger"></span>
              <span id="error_future_from_date" class="text-danger text-center"></span>
            </div>
          </div>
          <div class="form-group">
            <label class="text-info">Tolal Number Of Employee </br>
            <label>Add the addition number of OT hours requried</lable>
            <input type="text" name="hours_work" id="hours_work"  class="form-control" value=""/>
            <label class="text-secondary">Approved OT hours :   </br></label><br>
            <label class="text-secondary">Pendding OT hours :</label>
          </div>
        </div>

        <div class="modal-footer">
          <button type="button" name="get_approval" id="get_approval" class="btn btn-info btn-sm">Get Approval</button>
          <button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Close</button>
        </div>

      </div>
    </form>
  </div>
</div>
Кришна Савани
источник
1
спасибо сестра. Но я уже решил свою проблему
Код Крис
@CodeKris О, это мило! :)
Кришна Савани
0

Пожалуйста, напишите этот JavaScript под модальностью начальной загрузки

<div class="modal" id="overtime_requset">
....
<script>
setTimeout(function () { 
           swal({
             title: "OverTime Status!",
             text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
             type: "warning",
             confirmButtonText: "OK"
            },
         function(isConfirm){
            if (isConfirm) {

               $('#hours_work').text(data.value);//data.value alert the correct value in here.but this value not load in to the bootstrap model text box 
               $('#overtime_requset').modal('show');
               clear_field();
              }
           }); }, 1);
</script>
</div>
Аршад Шейх
источник
0

Если вы определили dataобъект JavaScript и clear_fieldфункцию и, вызвали библиотеки JQuery и Bootstrap. Там не было бы никаких проблем с вашим кодом.

Проверьте эту страницу JSFiddle: https://jsfiddle.net/1x6t3ajp

yedort
источник