Tengo algún problema en la carga variable de JavaScript en el cuadro de entrada del modelo 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 alerta el valor correcto aquí. Pero este valor no se carga en el cuadro de texto del modelo de rutina de carga. Cual es mi error? ¿Cómo lo soluciono? (El único problema es pasar el valor de JavaScript que no se carga en el campo de texto. Se puede imprimir como HTML en la etiqueta div)
Actualización que utilicé después de 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
fuente
fuente
Respuestas:
su código publicado es un poco escaso y tiene algunos errores, de todos modos intenté replicar su problema y creo que es posible que lo haya hecho funcionar. Eche un vistazo al siguiente fragmento de jsfiddle y vea si puede implementarlo en su código para que funcione.
COMPRUEBE ESTE ENLACE PRIMERO: https://jsfiddle.net/b1nary/je60gxv8/2/
ACTUALIZADO CON SU SWEETALERT: https://jsfiddle.net/b1nary/je60gxv8/11/
fuente
Prueba esto. Creo que
function(isConfirm)
es un problema.fuente
Para los campos de entrada de formulario, debe usar en
val()
lugar detext()
.Ejemplo:
$('#hours_work').val(data.value);
fuente
<input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
Por favor revisa tu sintaxis html
antiguo
nuevo
y consultar con uno por uno
fuente
Su problema puede resolverse si simplemente usa delegados. Como en lugar de uso directo,
$('#hours_work').val(data.value);
intente con cualquier referencia de los padres. de su documento, como el cuerpo. entonces$('#hours_work',$('body')).val(data.value);
Puede usar cualquier referencia principal de su div modal. en el que se coloca su código modal en lugar del cuerpo. padre div de este div.
Es porque su dom no es consciente de los elementos de su modelo si se carga dinámicamente.
Avísame si ha funcionado
fuente
Se enfrenta a este problema porque está tratando de agregar valor a un campo
#hours_work
, que aún no se ha procesado en DOM, como lo$('#overtime_requset').modal('show');
es después de asignar el valor$('#hours_work').val(data.value);
y el campo de entrada es parte del Modelo, por lo que solo necesita agregar el modelo primero y luego asignar valor al campo de entrada:fuente
He trabajado en Tus requisitos y estoy trabajando para mí, ejecuta el siguiente código como localmente:
fuente
Por favor, escriba este javascript bajo modal de arranque
fuente
Si definió el
data
objeto JavaScript y laclear_field
función y, llamó a las bibliotecas JQuery y Bootstrap. No habría problemas con su código.Consulte esta página de JSFiddle: https://jsfiddle.net/1x6t3ajp
fuente