Saya memiliki beberapa masalah dalam pemuatan variabel javascript ke kotak input model 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 memberitahukan nilai yang benar di sini. Tetapi nilai ini tidak dimuat ke kotak teks model bootstrap. Apa kesalahan saya? Bagaimana saya memperbaikinya? (satu-satunya masalah adalah lulus nilai JavaScript tidak dimuat ke dalam bidang teks sisi. Ini dapat mencetak sebagai HTML ke tag div)
Pembaruan yang saya gunakan berikut cdrap 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
Kode Kris
sumber
sumber
Jawaban:
kode yang Anda posting agak kurang dan memiliki beberapa kesalahan, lagipula saya mencoba mereplikasi masalah Anda dan saya pikir saya mungkin membuatnya berfungsi. Lihatlah potongan jsfiddle di bawah ini dan lihat apakah Anda dapat mengimplementasikan kode Anda untuk membuatnya bekerja.
PERIKSA LINK INI: PERTAMA: https://jsfiddle.net/b1nary/je60gxv8/2/
DIPERBARUI DENGAN SWEETALERT ANDA: https://jsfiddle.net/b1nary/je60gxv8/11/
sumber
Coba ini. Saya pikir
function(isConfirm)
itu masalah.sumber
Untuk kolom input formulir, Anda harus menggunakan
val()
sebagai gantitext()
.Contoh:
$('#hours_work').val(data.value);
sumber
<input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
Silakan periksa sintaks html Anda
tua
baru
dan periksa satu per satu
sumber
Masalah Anda dapat diatasi jika Anda hanya menggunakan delegasi. Seperti alih-alih penggunaan langsung
$('#hours_work').val(data.value);
coba dengan referensi orangtua. dokumen Anda seperti badan. begitu$('#hours_work',$('body')).val(data.value);
Anda dapat menggunakan referensi orang tua dari modal div Anda. di mana kode modal Anda ditempatkan alih-alih badan. div induk dari div ini.
Itu karena dom Anda tidak mengetahui elemen model Anda jika itu dimuat secara dinamis.
Beritahu saya jika berhasil
sumber
Anda menghadapi masalah ini karena Anda mencoba untuk menambahkan nilai ke bidang
#hours_work
, yang belum dirender dalam DOM, seperti$('#overtime_requset').modal('show');
rendering setelah menetapkan nilai$('#hours_work').val(data.value);
dan bidang input adalah bagian dari Model, jadi Anda hanya perlu menambahkan model terlebih dahulu lalu menetapkan nilai ke bidang input:sumber
Saya telah mengerjakan Persyaratan Anda dan bekerja untuk saya, silakan jalankan kode di bawah ini secara lokal:
sumber
Silakan tulis javascript ini di bawah modal bootstrap
sumber
Jika Anda mendefinisikan
data
objek JavaScript danclear_field
fungsinya, disebut pustaka JQuery dan Bootstrap. Tidak akan ada masalah dengan kode Anda.Periksa halaman JSFiddle ini: https://jsfiddle.net/1x6t3ajp
sumber