मेरे पास jQuery सत्यापन के साथ एक रूप है जो पूरी तरह से काम कर रहा है, यहां तक ​​​​कि AJAX भी पूरी तरह से काम कर रहा है यदि मैं उसी पृष्ठ पर AJAX के साथ अपने सत्यापन कोड का उपयोग करता हूं।

अब मैंने क्या किया, मैं एक फ़ाइल बनाता हूं जिसे सत्यापन कहा जाता है। जेएस और मैंने इसमें अपना सत्यापन कोड AJAX के साथ जोड़ा और मैंने अपने दृश्य पृष्ठ में नीचे की तरह एक स्क्रिप्ट जोड़ा।

<script type="text/javascript" src="<?php echo base_url() ?>js/validation.js"></script>

फिर मैंने सबमिट बटन पर क्लिक किया, इसने मेरे सत्यापन की जाँच की, यहाँ तक कि यह AJAX URL पर भी जाता है जिसे मैंने दर्ज किया था लेकिन इस बार मुझे आउटपुट नहीं मिला।

मैं ब्राउज़र में नेटवर्क टैब में इस तरह अपना यूआरएल प्राप्त कर रहा हूं

<?php echo base_url("index.php/user_control/admin_submit_from"); ?>

मैं उदात्त पाठ संपादक का उपयोग कर रहा हूँ यदि मैंने उसी पृष्ठ पर उपरोक्त URL का उपयोग किया है तो base_url रंग नीले रंग में दिखाई दे रहा है और यदि मैंनेValidaion.js में उपयोग किया है तो रंग पीले रंग में दिख रहा है।

उपरोक्त URL सत्यापन.js फ़ाइल से काम नहीं कर रहा है। क्या आप इसमें मेरी मदद करेंगे?

AJAX के साथ मेरा Jquery सत्यापन

  $(document).ready(function() {
    $("form[name='admin_form_submit']").validate({
        rules: {
            firstname: {
                required: true,
                 minlength:3,
                maxlength:50
            },

            lastname: {
                required: true,
                 minlength:3,
                maxlength:50
            },

    role:{
                required: true
            },

             inst_name:{
                required: true
            }
        },

         submitHandler: function(form) {
        //// form.submit();
         $.ajax({
                type: 'post',
                  url: '<?php echo base_url("index.php/user_control/admin_submit_from"); ?>',
                 data: $('form[name="admin_form_submit"]').serialize(),
                success: function (data) {
                    alert(data);
                }
           });        
        }
    })
});
0
Naren Verma 29 सितंबर 2017, 10:24

2 जवाब

सबसे बढ़िया उत्तर

पहली विधि में कोड के काम करने का कारण यह था कि इसे PHP फ़ाइल में शामिल किया गया था। एक php फ़ाइल के भीतर, आप HTML, CSS, JS एम्बेड कर सकते हैं, और इसीलिए जब आप कुछ इस तरह लिखते हैं:

<script src='<?php echo $something; ?>'></script>

उस $something का मान प्रतिध्वनित होता है।

दूसरी ओर, आप एक जावास्क्रिप्ट फ़ाइल के अंदर एक PHP कोड एम्बेड नहीं कर सकते। पूरे कोड को string के रूप में माना जाएगा, और यही कारण है कि इसे इस तरह से पार्स किया गया है।

तो आपको समस्या का समाधान करने के लिए (यदि आप अभी भी अपने जेएस को एक अलग फ़ाइल में रखना चाहते हैं), ऐसा करने का एक तरीका यह है कि अपने वांछित मूल्य के साथ एक छिपा हुआ input जोड़ें। अपना फॉर्म, और इसे प्राप्त करने के लिए जेएस का उपयोग करें।

आपके रूप में:

<input type="hidden" name="my_url" id="my_url" value="<?php echo base_url("index.php/user_control/admin_submit_from"); ?>">

फिर आप इसे अपनी जेएस फ़ाइल से इस तरह लक्षित करते हैं:

var myUrl = $('#my_url').val();

फिर अपने ajax को इसमें अपडेट करें:

$.ajax({
    // other objects and properties
    url: myUrl,
});
0
Samuel Asor 29 सितंबर 2017, 11:16

आप जेएस फ़ाइल में PHP निष्पादित नहीं कर सकते हैं

यूआरएल और संदर्भ के साथ अपनी PHP फ़ाइल में वैश्विक जेएस वैरिएबल बनाएं जो आपकी जेएस फ़ाइल में है

Index.php

<script>
var url = '<?php echo base_url("index.php/user_control/admin_submit_from"); ?>';
</script>

सत्यापन.जेएस

 $.ajax({
                type: 'post',
                  url: url,
                 data: $('form[name="admin_form_submit"]').serialize(),
                success: function (data) {
                    alert(data);
                }
           });        
        }
0
madalinivascu 29 सितंबर 2017, 10:44