J'ai un problème de chargement de variable javascript dans la zone de saisie du modèle de bootstrap:
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 alerte la valeur correcte ici. Mais cette valeur ne se charge pas dans la zone de texte du modèle d'amorçage. Quelle est mon erreur? Comment je le répare? (le seul problème est que la valeur JavaScript ne se charge pas dans le champ de texte. Elle peut être imprimée au format HTML dans la balise div)
Mise à jour que j'ai utilisée suite au 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
Code Kris
la source
la source
Réponses:
votre code affiché manque un peu et comporte des erreurs, de toute façon j'ai essayé de reproduire votre problème et je pense que je l'ai peut-être fait fonctionner. Jetez un œil à l'extrait de code jsfiddle ci-dessous et voyez si vous pouvez l'implémenter dans votre code pour le faire fonctionner.
CONSULTEZ CE LIEN D'ABORD: https://jsfiddle.net/b1nary/je60gxv8/2/
MIS À JOUR AVEC VOTRE SWEETALERT: https://jsfiddle.net/b1nary/je60gxv8/11/
la source
Essaye ça. Je pense que
function(isConfirm)
c'est un problème.la source
Pour les champs de saisie de formulaire, vous devez utiliser à la
val()
place detext()
.Exemple:
$('#hours_work').val(data.value);
la source
<input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
Veuillez vérifier votre syntaxe html
vieux
Nouveau
et vérifiez avec un par un
la source
Votre problème peut être résolu si vous utilisez simplement des délégués. Comme au lieu d'une utilisation directe,
$('#hours_work').val(data.value);
essayez avec n'importe quelle réfraction parentale. de votre document tel que le corps. donc$('#hours_work',$('body')).val(data.value);
Vous pouvez utiliser n'importe quelle référence parent de votre division modale. dans lequel votre code modal est placé à la place du corps. parent div de cette div.
C'est parce que votre dom n'est pas au courant des éléments de votre modèle s'il est chargé dynamiquement.
Faites-moi savoir si cela a fonctionné
la source
Vous êtes confronté à ce problème car vous essayez d'ajouter de la valeur à un champ
#hours_work
, qui n'a pas encore été rendu dans DOM, tout comme le$('#overtime_requset').modal('show');
rendu après l'attribution de la valeur$('#hours_work').val(data.value);
et le champ de saisie fait partie du modèle, il vous suffit donc d'ajouter d'abord le modèle, puis attribuer une valeur au champ de saisie:la source
J'ai travaillé sur vos besoins et travaille pour moi, veuillez exécuter le code ci-dessous comme localement:
la source
Veuillez écrire ce javascript sous bootstrap modal
la source
Si vous avez défini l'
data
objet JavaScript et laclear_field
fonction et, appelé les bibliothèques JQuery et Bootstrap. Il n'y aurait aucun problème avec votre code.Consultez cette page JSFiddle: https://jsfiddle.net/1x6t3ajp
la source