2013-03-12 10 views
6

मैं अपने वर्तमान पृष्ठ को छोड़े बिना एक फार्म भेजना चाहते हैं पर रह कर एक फार्म भेजने के लिए, तो मैं उपयोग कर रहा हूँ:jQuery, एक ही पृष्ठ

$('.myForm').on('submit', function(){ 
     $.ajax({ 
      url: $(this).attr('action'), 
      type: $(this).attr('method'), 
      data: $(this).serialize(), 
      success: function(html) { 
      alert('ok'); 
      } 
     }); 
    return false; 
}); 

लेकिन यह काम नहीं करता है ... किसी भी विचार कृप्या?

+0

किस तरह से, 'काम नहीं करता है'? –

+0

सुनिश्चित करें कि आपके फॉर्म में "myForm" श्रेणी है। –

+1

'वापसी झूठी' का मतलब है jQuery में बोलना 'जारी रखें'। –

उत्तर

7

इस तरह से कार्य करें: -

$(document).on('submit', '.myForm', function(e) { 
    $.ajax({ 
     url: $(this).attr('action'), 
     type: $(this).attr('method'), 
     data: $(this).serialize(), 
     success: function(html) { 
     alert('ok'); 
     } 
    }); 
    e.preventDefault(); 
}); 
+0

आपको वास्तव में फ़ंक्शन में 'event' में पास करने की आवश्यकता है। –

+0

@ bmorris591: सही किया गया। धन्यवाद –

+0

धन्यवाद यह अच्छी तरह से काम कर रहा है, prevenDefault –

7

यहाँ एक उदाहरण

<form name="frm" method="POST" action=""> 
<input type="text" name="name" id="name" value="" /> 
<input type="text" name="last_name" id="last_name" value="" /> 
<input type="submit" name="Update" id="update" value="Update" /> 
</form> 

jQuery हिस्सा

$("#update").click(function(e) { 
    e.preventDefault(); 
    var name = $("#name").val(); 
    var last_name = $("#last_name").val(); 
    var dataString = 'name='+name+'&last_name='+last_name; 
    $.ajax({ 
    type:'POST', 
    data:dataString, 
    url:'insert.php', 
    success:function(data) { 
     alert(data); 
    } 
    }); 
}); 

insert.php पेज

<?php 
    $name = $_POST['name']; 
    $last_name = $_POST['last_name']; 
    $insert = "insert into TABLE_NAME values('$name','$last_name')";// Do Your Insert Query 
    if(mysql_query($insert)) { 
    echo "Success"; 
    } else { 
    echo "Cannot Insert"; 
    } 
?> 
है

आशा इस मदद करता है

+0

पर एक नज़र डालने वाला है, मैं इसे सबसे अच्छा जवाब के रूप में चुनूंगा, हालांकि मैं ग्राहक से आने वाली उपयोगकर्ता प्रतिक्रिया (PHP नहीं) पसंद करता हूं। – johnnaras

1

उपयोग event.preventDefault();

$('.myForm').on('submit', function(event){ 
    event.preventDefault(); 
    $.ajax({ 
     url: $(this).attr('action'), 
     type: $(this).attr('method'), 
     data: $(this).serialize(), 
     success: function(html) { 
     alert('ok'); 
     } 
    }); 
    //return false; 
}); 
संबंधित मुद्दे