วิธีโหลดตัวแปรสคริปต์ java ลงในกล่องข้อความโมเดล bootstrap เป็นค่า


13

ฉันมีปัญหาบางอย่างในตัวแปรจาวาสคริปต์โหลดลงในกล่องใส่โมเดล 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">&times;</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 แจ้งเตือนค่าที่ถูกต้องที่นี่ แต่ค่านี้ไม่โหลดลงในกล่องข้อความโมเดล bootstrap ความผิดพลาดของฉันคืออะไร? ฉันจะแก้ไขได้อย่างไร (ปัญหาเดียวคือผ่านค่า 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" />

ลองใช้ฟังก์ชั่น setText ()
Ahamed Safnaj

พี่ชายไม่ทำงานฉันคิดว่าปัญหาเป็นเรื่องอื่น
รหัสคริส

ฉันคิดว่าคุณไม่ได้เชื่อมโยงไฟล์ JS เขียนฟังก์ชั่นแจ้งเตือนและตรวจสอบให้แน่ใจว่าคุณได้ทำการเชื่อมโยงแล้ว ..
4461 Ahamed Safnaj เมื่อ

การแจ้งเตือน (data.value); แสดงค่าที่ถูกต้อง
Code Kris

1
ฉันใช้ cdn 'sweetalert' ล่าสุด
รหัสคริส

คำตอบ:


5

รหัสที่โพสต์ของคุณขาดไปเล็กน้อยและมีข้อผิดพลาดอยู่แล้วฉันพยายามทำซ้ำปัญหาของคุณแล้วและฉันคิดว่าฉันอาจทำงานได้ ลองดูที่ตัวอย่างโค้ด jsfiddle ด้านล่างและดูว่าคุณสามารถติดตั้งในโค้ดเพื่อให้มันทำงานได้หรือไม่

ตรวจสอบลิงค์นี้ก่อน: https://jsfiddle.net/b1nary/je60gxv8/2/

อัปเดตด้วย SWEETALERT ของคุณ: https://jsfiddle.net/b1nary/je60gxv8/11/

setTimeout(function() {
    swal({
    title: "OverTime Status!",
    text: "You Need to get Sub OT Approval " + data_val + " Hours to Time allocate",
    type: "warning",
    showCancelButton: true,
    confirmButtonText: "Yes, do it",
    closeOnConfirm: false,
    html: false
  }, function(){
    swal("Deleted!",
    "Poof! Your number has been added to input box!",
    "success");
    $('#hours_work').val(data_val); 
    $('#overtime_requset').modal('show');
    //clear fields    
  });

}, 1000 );

ฉันใช้การแจ้งเตือนที่หวานสำหรับ bootstrap.not sweetalert
Code Kris



เหนือสอง cdn สำหรับการรับการแจ้งเตือน
Code Kris

หากคุณสามารถโหลดค่าลงในกล่องข้อความฉันจะยอมรับคำตอบของคุณว่าถูกต้องวิธีการใด ๆ ขอบคุณมากสำหรับการบริจาคอันมีค่าของคุณ
Code Kris

3

ลองสิ่งนี้ ฉันคิดว่าfunction(isConfirm)เป็นปัญหา

คุณต้องใช้ฟังก์ชั่น then ()

    swal({
      title: "OverTime Status!",
      text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
      type: "warning",
      showCancelButton: false
    }).then(function (result) {
        $('#hours_work').val(data.value);
        $('#overtime_requset').modal('show'); 
    });

รุ่นยังไม่ทำงานในกรณีนี้
Code Kris

1

สำหรับช่องใส่รูปแบบที่คุณต้องการที่จะใช้แทนval()text()

ตัวอย่าง: $('#hours_work').val(data.value);


Btw คุณตรวจสอบรหัสของคุณหรือยัง ในรหัสที่คุณโพสต์ไว้ด้านบนมีการเสนอราคาซ้ำสองครั้งหายไป (การจบการเสนอราคาสำหรับชั้นเรียน) นี่อาจเป็นสาเหตุของปัญหาของคุณ <input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
CodyKL

1

โปรดตรวจสอบไวยากรณ์ html ของคุณ

เก่า

<input type="text" name="hours_work" id="hours_work"  class="form-control value=""/>

ใหม่

<input type="text" name="hours_work" id="hours_work"  class="form-control" value=""/>

และตรวจสอบกับหนึ่งโดยหนึ่ง

$('#hours_work').val(data.value);
$('#hours_work').text(data.value);

ทุกคนล้วน แต่เป็นรุ่นพี่ลองใช้งานไม่ได้ฉันคิดว่าปัญหามันเป็นอย่างอื่น
โค้ดคริส

เพียงแค่เขียน $ ('# hours_work'). val ('xyz'); ในคอนโซลและตรวจสอบว่ามันทำงานหรือให้ข้อผิดพลาด
Arshad Shaikh

ลองกับ var textbox = document.getElementById ('hours_work'); textbox.value = 'xyz';
Arshad Shaikh

1 ตัวเลือกของคุณไม่พิมพ์ค่า
Code Kris

เดี๋ยวก่อนโปรดเขียนจาวาสคริปต์นี้ภายใต้ bootstrap modal
Arshad Shaikh

1

ปัญหาของคุณสามารถแก้ไขได้หากคุณเพียงแค่ใช้ตัวแทน กด$('#hours_work').val(data.value);ไลค์แทนการใช้โดยตรง ลองกับผู้ปกครองคนใหม่ ของเอกสารของคุณเช่นเนื้อหา ดังนั้น $('#hours_work',$('body')).val(data.value);

คุณสามารถใช้การอ้างอิงผู้ปกครองใด ๆ ของ dival ของคุณ ซึ่งเป็นรหัสโมดอลของคุณแทนร่างกาย div ผู้ปกครองของ div นี้

มันเป็นเพราะคุณไม่ได้ตระหนักถึงองค์ประกอบรูปแบบของคุณถ้ามันโหลดแบบไดนามิก

แจ้งให้เราทราบหากใช้งานได้


1

คุณกำลังประสบปัญหานี้เนื่องจากคุณพยายามเพิ่มมูลค่าให้กับเขตข้อมูล#hours_workซึ่งยังไม่ได้สร้างการแสดงผลใน DOM เนื่องจาก$('#overtime_requset').modal('show');การแสดงผลหลังจากกำหนดค่าให้กับ$('#hours_work').val(data.value);และช่องป้อนข้อมูลเป็นส่วนหนึ่งของรุ่นดังนั้นคุณเพียงแค่ต้องเพิ่มรุ่นก่อนแล้ว กำหนดค่าให้กับฟิลด์อินพุต:

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) {

    $('#overtime_requset').modal('show');
    $('#hours_work').val(data.value);
   }
 });
 }, 1);

ไม่ใช่กรณีนี้ฉันลองใช้มันไม่ทำงาน
Code Kris

เพียงตรวจสอบให้แน่ใจว่าฟังก์ชั่น 'clear_field ()' ไม่ได้เป็นการล้างค่าอินพุตที่คุณได้กำหนดไว้
Sarvesh Mahajan

@ nipun258 ถ้ามันแก้ปัญหาของคุณ, ขอบคุณถ้าคุณสามารถลงคะแนนและทำเครื่องหมายคำตอบขอบคุณ
Sarvesh Mahajan

ไม่มีปัญหายังคงเกิดขึ้นฉันพูดว่าฟังก์ชั่น field ที่ชัดเจนทำงานได้ดี
Code Kris

1

ฉันทำงานตามความต้องการของคุณแล้วและทำงานให้ฉันได้โปรดเรียกใช้รหัสด้านล่างในพื้นที่:

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<script>
setTimeout(function() {
    var myArray = {id1: 100, id2: 200};

     swal({
      title: "OverTime Status!",
      text: "You Need to get Sub OT Approval "+ myArray.id1+ "  Hours to Time allocate in the department",
      type: "warning",
      confirmButtonText: "OK"

    },
    function(isConfirm) {
      if (isConfirm) {

        $('#hours_work').val(myArray.id1); //data.value alert the correct value in here.but this value not load in to the bootstrap model text box 
        $('#overtime_requset').modal('show');

      }
      else{
          console.log("test");
      }
    });
}, 1);
 </script>


    <div class="modal" id="overtime_requset">
  <div class="modal-dialog ">
    <form id="overtime_requset_form">
      <div class="modal-content">


        <div class="modal-header">
          <h4 class="modal-title">Sub OT Request</h4>
          <button type="button" class="close" data-dismiss="modal">&times;</button>
        </div>


        <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="" 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 </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 :   </br></label><br>
            <label class="text-secondary">Pendding OT hours :</label>
          </div>
        </div>

        <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>

1
ขอบคุณพี่สาว แต่ฉันแก้ปัญหาของฉันไปแล้ว
Code Kris

@ CodeKris โอ้ดีจัง! :)
กฤษณะซาวานี

0

กรุณาเขียนจาวาสคริปต์นี้ภายใต้ bootstrap modal

<div class="modal" id="overtime_requset">
....
<script>
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').text(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);
</script>
</div>

0

หากคุณกำหนด dataวัตถุ JavaScript และclear_fieldฟังก์ชั่นและเรียกว่าไลบรารี JQuery และ Bootstrap จะไม่มีปัญหากับรหัสของคุณ

ตรวจสอบหน้า JSFiddle นี้: https://jsfiddle.net/1x6t3ajp

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.