簡體   English   中英

用ajax提交表格?

[英]using ajax to submit form?

我的html代碼:

<?php echo form_open('question/submit', $attributes_form)

                <div style="margin-top:15px;" class="control-group">
                    <div class="controls">
                        <button type="submit" class="btn btn-success" id="post-question">提交問題</button>
                        <div id="#loading"></div>
                    </div>
                </div>
            <?php echo form_close();?>

我的查詢代碼:

<script type="text/javascript">
$(function()
{
    $('#post-question').click(function()
    {
        alert('hello world');   
    });

    $('#question').submit(function()
    {
        $.ajax({
        url:"<?php echo base_url('question/submit');?>",
        type:post,
        beforeSend:function(event){
            $('#loading').html("<img src='<?php echo base_url('assets/img/loading.gif');?>'>");
        },
        success:function(data){
            alert("Success:" + data.result);
            $('#loading').empty();
        },
        error:function(data){
            $('#loading').empty();
            $('#loading').val("提交出錯,請重試");
        },
        });
    });
});
</script>

當我單擊提交按鈕時,頁面將重定向到問題/提交,為什么? 由於我使用的是Ajax發布,因此我認為不應刷新或重定向頁面。

您沒有阻止事件的默認操作,即提交表單(顯然):

$('#question').submit(function(event) {
    event.preventDefault();
    // ...
});

您需要在Submit事件上調用.preventDefault()。

$('#question').submit(function (e) {
    e.preventDefault();
    $.ajax({
        data: $(this).serializeArray(),
        url:"<?php echo base_url('question/submit');?>",
        type: 'POST',
        beforeSend:function(event){
            $('#loading').html("<img src='<?php echo base_url('assets/img/loading.gif');?>'>");
        },
        success:function(data){
            alert("Success:" + data.result);
            $('#loading').empty();
        },
        error:function(data){
            $('#loading').empty();
            $('#loading').val("提交出錯,請重試");
        }
    });
});

您將要調用event.preventDefault()方法來攔截更典型的html表單/帖子提交,因為您使用的是這種ajax方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM