Jquery form Ajax Submit



我想在后台使用 ajax 提交表单。我试过了:

<div class="form-horizontal" id="form">
    <label for="name" class="control-label">Username</label>
    <div class="controls">
        <span id="name_input"><input type="text" name="name" id="medium" class='input-medium input-square'></span>
        <span class="help-inline" id = "ajax_load"></span>
    </div>
    <div class="form-actions">
        <button class="btn btn-red5" onclick="resolve()">Login</button>
        <input type="reset" class='btn btn-danger' value="Reset">
    </div>                                                  
</div>

还有Javascript:

<script type="text/javascript">
    var resolve = function () {
            jAlert('test', 'test');
                $('#ajax_load').html('<a href="#" class="btn btn-mini btn-square tip" title="Reloading"><img src="templates/img/ajax-loader.gif" alt=""></a>');
                $.ajax( {
                    url : 'plugin.php?plugin=test',
                    type : 'post',          
                    data: $("#form").serialize(),
                    success : function( resp ) {
                        if(resp.ajax_success == false) {
                        } else {
                            jAlert('test', 'test');
                        }
                    }
                });     
    };
</script>

我收到提醒,但没有表单提交。我用Live http标头检查了这一点。

为什么不提交表格?

如果它不提交表单,因为#form不是表单。

改变:

<div class="form-horizontal" id="form">

自:

<form class="form-horizontal" id="form">

您需要将resp.ajax_success替换为 resp .让我们也知道plugin.php?plugin=test URL 的响应。

<小时 />

如果您不希望在单击"提交"按钮时提交<form>,请按以下方式在resolve函数的末尾添加一个return false;

var resolve = function () {
    jAlert('test', 'test');
    $('#ajax_load').html('<a href="#" class="btn btn-mini btn-square tip" title="Reloading"><img src="templates/img/ajax-loader.gif" alt=""></a>');
    $.ajax( {
        url: 'plugin.php?plugin=test',
        type: 'post',          
        data: $("#form").serialize(),
        success: function( resp ) {
            if(resp.ajax_success == false) {
            } else {
                jAlert('test', 'test');
            }
        }
    });
    return false;
};

这是因为您尚未使用从div 序列化数据的形式

<div class="form-horizontal" id="form">

不形成表单

应该是

<form class="form-horizontal" id="form">

最新更新