如何将表单提交给jQuery中的特定URL?

问题描述:

我正在使用codeigniter。我想使用jQuery提交表单并将表单值存储在数据库中。为此,我写了这个代码:如何将表单提交给jQuery中的特定URL?

<form action="" method="post"> 
    <div id="login_err" style="color:#FF0000; text-align: center; padding: 10px;"></div> 
    <ul> 
     <li> 
      <label>Name :</label> 
      <input type="text" name="name" id="name" /> 
      <span id="name_error"></span> 
     </li> 
     <li> 
      <label>Email :</label> 
      <input type="text" name="email" id="email" /> 
      <span id="email_error"></span> 
     </li> 
     <li> 
      <label>Telephone :</label> 
      <input type="text" name="tele" id="tele" /> 
      <span id="tele_error"></span> 
     <li> 
     <li> 
      <label>Message :</label> 
      <textarea name="message" id="message" /></textarea> 
      <span id="message_error"></span> 
     </li> 
     <li> 
      <label>How did you hear about us?</label> 
      <select name="soption" id="soption"> 
       <option selected='selected'></option> 
       <option>I am a repeat customer<option> 
       <option>You are recommended to me<option> 
       <option>Google Search<option> 
       <option>Travelzoo<option> 
       <option>News paper artical<option> 
       <option>Facebook<option> 
       <option>twitter<option> 
      </select> 
      <span id="soption_error"></span> 
     </li> 
     <li> 
      <input type="button" id="form_submit" value="Submit" /> 
     </li> 
    </ul> 
</form> 
$('#form_submit').click(function(){ 
    var name1 = $('#name').val(); 
    var email1 = $('#email').val(); 
    var tele1 = $('#tele').val(); 
    var message1 = $('#message').val(); 
    var soption1 = $('#soption').val(); 

    $.ajax({ 
     type: 'post', 
     url: 'http://localhost/test/index.php/test_con/form', 
     data: 'name=' + name1 + '&email=' + email1 + '&tele=' + tele1 + '&message=' + message + '&soption=' + soption1, 
     success: function(data) { 
      $('#login_err').html('Success ...'); 
      $('#form_submit').attr('action', "www.google.com").submit(); 
     }); 
    } 

这是我存储数据库值的方式,但是当我提交表单的值将微粒链接,如“www.google.com”,但它不能正常工作我变得这样'http://localhost/test/index.php/test_con/www.google.com'。

当您通过AJAX提交表单时,您需要停止标准表单提交事件。您可以通过使用preventDefault()做到这一点:

$('#form_submit').click(function(e) { 
    e.preventDefault(); 
    // the rest of your code here... 
}); 

你也应该删除改变form行动线 - 这是适得其反。

删除,你必须设置在阿贾克斯即

$('#form_submit').attr('action', "www.google.com").submit(); 
成功函数的作用线