Ich habe ein Problem beim Laden der Javascript-Variablen in das Eingabefeld des Bootstrap-Modells:
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 alarmiert hier den korrekten Wert. Dieser Wert wird jedoch nicht in das Textfeld des Bootstrap-Modells geladen. Was ist mein Fehler? Wie behebe ich das? (Das einzige Problem ist, dass der JavaScript-Wert nicht in das Textfeld in der Innenseite geladen wird. Er kann als HTML-Code in das div-Tag gedruckt werden.)
Update habe ich nach cdn sweetAlert Boostrap verwendet
<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
Code Kris
quelle
quelle
Antworten:
Ihr geposteter Code fehlt etwas und weist einige Fehler auf. Trotzdem habe ich versucht, Ihr Problem zu replizieren, und ich glaube, ich habe ihn möglicherweise zum Laufen gebracht. Schauen Sie sich das folgende jsfiddle-Snippet an und sehen Sie, ob Sie es in Ihren Code implementieren können, damit es funktioniert.
Überprüfen Sie diesen Link zuerst: https://jsfiddle.net/b1nary/je60gxv8/2/
AKTUALISIERT MIT IHREM SWEETALERT: https://jsfiddle.net/b1nary/je60gxv8/11/
quelle
Versuche dies. Ich denke
function(isConfirm)
ist das Problem.quelle
Für Formulareingabefelder müssen Sie
val()
anstelle von verwendentext()
.Beispiel:
$('#hours_work').val(data.value);
quelle
<input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
Bitte überprüfen Sie Ihre HTML-Syntax
alt
Neu
und überprüfen Sie mit einem nach dem anderen
quelle
Ihr Problem kann gelöst werden, wenn Sie einfach Delegaten verwenden.
$('#hours_work').val(data.value);
Versuchen Sie es lieber, anstatt es direkt zu verwenden . Ihres Dokuments wie Körper. damit$('#hours_work',$('body')).val(data.value);
Sie können eine beliebige übergeordnete Referenz Ihres Modal Div verwenden. in dem Ihr Modalcode anstelle des Körpers platziert ist. Eltern Div dieses Div.
Dies liegt daran, dass Ihr Dom Ihre Modellelemente nicht kennt, wenn sie dynamisch geladen werden.
Lassen Sie mich wissen, ob es funktioniert hat
quelle
Sie sind mit diesem Problem konfrontiert, weil Sie versuchen, einem Feld
#hours_work
, das noch nicht in DOM gerendert wurde , einen Wert hinzuzufügen , da$('#overtime_requset').modal('show');
das Rendern nach dem Zuweisen von Wert zu einem$('#hours_work').val(data.value);
Eingabefeld Teil von Model ist. Sie müssen also erst das Modell hinzufügen und dann Geben Sie dem Eingabefeld einen Wert ein:quelle
Ich habe an Ihren Anforderungen gearbeitet und arbeite für mich. Bitte führen Sie den folgenden Code wie lokal aus:
quelle
Bitte schreiben Sie dieses Javascript unter Bootstrap Modal
quelle
Wenn Sie das
data
JavaScript-Objekt und dieclear_field
Funktion definiert haben und die JQuery- und Bootstrap-Bibliotheken aufgerufen haben. Es würde keine Probleme mit Ihrem Code geben.Überprüfen Sie diese JSFiddle-Seite: https://jsfiddle.net/1x6t3ajp
quelle