0

我想在后台使用 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 标头检查了这一点。

为什么不提交表格?

4

2 回答 2

2

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

改变:

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

至:

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

您需要将 替换resp.ajax_successresp。让我们也知道plugin.php?plugin=testURL 的响应。


如果您不想<form>在单击提交按钮时提交,请以这种方式在函数return false;末尾添加一个:resolve

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;
};
于 2012-11-18T16:54:01.060 回答
1

这是因为您还没有使用从 div 序列化数据的表单

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

不形成表格

应该

<form class="form-horizontal" id="form">
于 2012-11-18T16:55:46.953 回答