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

时间:2015-10-16 12:31:14

标签: php jquery ajax codeigniter

我正在使用codeigniter。我想使用jQuery提交表单并将表单值存储在数据库中。为此,我写了这段代码:

<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&#39;这样的微粒链接。但它不能正常工作我会这样做{&#39; http://localhost/test/index.php/test_con/www.google.com&#39;。

2 个答案:

答案 0 :(得分:3)

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

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

您还应该删除更改form操作的行 - 这会产生效果。

答案 1 :(得分:0)

删除你在ajax成功功能中设置动作的行,即。

$('#form_submit').attr('action', "www.google.com").submit();