У меня есть проблема с загрузкой переменной 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">×</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" />
javascript
php
input
bootstrap-modal
sweetalert
Код Крис
источник
источник
Ответы:
Ваш опубликованный код немного не хватает и есть некоторые ошибки, в любом случае я пытался воспроизвести вашу проблему, и я думаю, что я мог заставить его работать. Посмотрите на приведенный ниже фрагмент jsfiddle и посмотрите, сможете ли вы реализовать его в своем коде, чтобы он заработал.
ПРОВЕРЬТЕ ЭТУ ССЫЛКУ ВПЕРВЫЕ: https://jsfiddle.net/b1nary/je60gxv8/2/
ОБНОВЛЕНО ВАШИМ СВИТАЛЕРТОМ: https://jsfiddle.net/b1nary/je60gxv8/11/
источник
Попробуй это. Я думаю,
function(isConfirm)
это проблема.источник
Для полей ввода формы вам нужно использовать
val()
вместоtext()
.Пример:
$('#hours_work').val(data.value);
источник
<input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
Пожалуйста, проверьте ваш синтаксис HTML
старый
новый
и проверить по одному
источник
Ваша проблема может быть решена, если вы просто используете делегатов. Как вместо прямого использования,
$('#hours_work').val(data.value);
попробуйте с любым родительским указанием. вашего документа, такого как тело. так$('#hours_work',$('body')).val(data.value);
Вы можете использовать любую родительскую ссылку вашего модального div. в котором ваш модальный код находится вместо тела. родительский div этого div.
Это потому, что ваш домен не знает о ваших модельных элементах, если он динамически загружается.
Дайте мне знать, если это сработало
источник
Вы сталкиваетесь с этой проблемой, потому что вы пытаетесь добавить значение в поле
#hours_work
, которое еще не отображалось в DOM, как$('#overtime_requset').modal('show');
рендеринг после присвоения значения,$('#hours_work').val(data.value);
и поле ввода является частью Model, поэтому вам просто нужно сначала добавить модель, а затем назначить значение для поля ввода:источник
Я работал над вашими требованиями и работает для меня, пожалуйста, запустите ниже код как локально:
источник
Пожалуйста, напишите этот JavaScript под модальностью начальной загрузки
источник
Если вы определили
data
объект JavaScript иclear_field
функцию и, вызвали библиотеки JQuery и Bootstrap. Там не было бы никаких проблем с вашим кодом.Проверьте эту страницу JSFiddle: https://jsfiddle.net/1x6t3ajp
источник