मेरे पास एचटीएमएल चेकबॉक्स है और मैं इसे एजेक्स प्रतिक्रिया के रूप में प्राप्त स्क्रिप्ट का उपयोग करके जांचने की कोशिश कर रहा हूं। यहाँ मेरा एचटीएमएल है:

<form class="form-vertical sms-settings-form">
    <div class="form-group">
        <div data-toggle="tooltip" title="SMS to the customer at the time of sale." class="form-group opt-transport">
               <label for="sale-sms">Sale SMS</label>
               <input type="checkbox" id="sale-sms" data-toggle="toggle" data-on="Send" data-off="Don't Sent">
         </div>
        <textarea data-toggle="tooltip" class="form-control" id="sale-sms-content"></textarea>
    </div>

    <button type="button" class="btn btn-success sms-settings-btn">Save Settings</button>
</form>

यहाँ मेरा AJAX अनुरोध है।

$(document).ready(function(){
    $.post("ajax-req-handler.php", {key: "load-saved-settings"}, function(data){ $(".exec-ajax-script").html(data); });
});

ये रहा मेरा ajax-req-handler.php

$sql = "SELECT * FROM settings";
$result = $conn->query($sql);
if(num_rows($result)>0){
    while($row=$result->fetch_assoc()){
        $id = $row['id'];
        $setting_name = $row['name'];
        if($id == 1 && $setting_name == 'sale-sms') $sms_content = $row['value'];
        if($id == 2 && $setting_name == 'send-sms') $send_sms = $row['value'];

    }
} ?>
<script type="text/javascript">
    $(document).ready(function(){
        $(".sms-settings-form #sale-sms").prop(<?php echo ($send_sms == 1) ? "'checked', 'checked'" : ""; ?>);
        $(".sms-settings-form textarea").val("<?php echo $sms_content; ?>");
    });

</script> <?php

और यहां वह कोड है जो मुझे AJAX प्रतिक्रिया के रूप में मिल रहा है

<script type="text/javascript">
    $(document).ready(function(){
        $(".sms-settings-form #sale-sms").prop('checked', 'checked');
        $(".sms-settings-form textarea").val("Hello [name], Your mobile number is [mobile]. your total amount is Rs. [total] out of which you paid Rs. [paid] and your due amount is [due] for the bill number # [bill] on [date] ");
    });

</script> 

प्रतिक्रिया ठीक लगती है लेकिन फिर भी, यह मेरे चेकबॉक्स का मान चेक करने के लिए सेट नहीं कर रहा है। मैंने प्रतिक्रिया की प्रतिलिपि बनाने की कोशिश की और मेरी पहली फ़ाइल में चिपकाया (फ़ाइल जहां चेकबॉक्स परिभाषित किया गया है और AJAX अनुरोध शुरू किया गया है)। यह वहां काम कर रहा है। समस्या केवल अजाक्स प्रतिक्रिया के साथ है

3
Zainul Abideen 2 अप्रैल 2018, 09:20

2 जवाब

परीक्षण नहीं किया गया है, लेकिन अपने सभी कोड को HTML डोम में इंजेक्ट करने के बजाय जावास्क्रिप्ट में डालें।

$.ajax( {
  url: 'ajax-req-handler.php',
  data: { key: 'load-saved-settings' },
  dataType: 'json'
} ).done( function( data ) {

  if( data.send_sms === 1 ) {
    $(".sms-settings-form #sale-sms").prop('checked', true);
  }

  $(".sms-settings-form textarea").val( data.textarea );

} );

और PHP के लिए; इसके बजाय करते हैं।

$sql = "SELECT * FROM settings";
$result = $conn->query($sql);
if(num_rows($result)>0){
  while($row=$result->fetch_assoc()){
      $id = $row['id'];
      $setting_name = $row['name'];
      if($id == 1 && $setting_name == 'sale-sms') $sms_content = $row['value'];
      if($id == 2 && $setting_name == 'send-sms') $send_sms = $row['value'];

  }
}

echo json_encode( array(
  'send_sms' => $send_sms,
  'textarea' => $sms_content
) );
1
2 अप्रैल 2018, 07:47

मुझे लगता है कि AJAX-req-handler.php में समस्या है

आपके पास लूप है, और एकाधिक रिकॉर्ड संसाधित करना होगा। यदि आपको एकाधिक रिकॉर्ड मिल रहे हैं, तो jQuery में लिखा गया दस्तावेज़ तैयार अनुभाग डेटा सेट में अंतिम रिकॉर्ड के अनुसार निष्पादित होगा।

कृपया नमूना डेटा प्रदान करें, तदनुसार इसकी समीक्षा करने के लिए।

0
Jatinder Kumar 2 अप्रैल 2018, 06:44