通过Ajax提交引导表单传递了错误的参数

时间:2017-02-06 21:03:09

标签: php jquery ajax twitter-bootstrap

我使用Bootstrap构建了一个数据输入页面,我正在尝试通过Ajax / jQuery处理它。当我点击提交按钮时,虽然通过跟踪,我可以看到我的ajax方法被调用,发送的内容根本不是正确的。

以下是HTML的摘录,仅显示一个文本控件和按钮。真实页面有更多控件:

<form role="form" id="addform" name="addform" class="form-horizontal">
    <div class="form-group">
        <label class="col-form-label col-md-offset-1 col-md-1" for="actiontitle">Action title</label>
        <div class="col-md-9">
            <input type="text" class="form-control" id="actiontitle" name="actiontitle" placeholder="Action title" required>
        </div>
        <div class="help-block with-errors"></div>
    </div>
        <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <button type="submit" "btn btn-default" id="submit" name="submit">Submit</button>
        </div>
    </div>      
</form>

Ready函数包含以下代码:

$('#addform').submit(function(event){
    saveAction();
    event.preventDefault();
});

这是saveAction函数的关键部分。上面的代码填充了fnargs变量:

    $.ajax({
        url: 'retrievedata.php',
        type: "POST",
        async:false,
        data: {"functionname":"getdata", "arguments":fnargs},
        dataType: "JSON",
        success: function (obj) {
            alert('Your action has been submitted and will be reviewed. Thanks for adding to Acts of Conscience');
            $('addform').each(function(){
                this.reset;
            }); 
        },
        error: function(textStatus, errorThrown) {
             success = false;
             alert('We were unable to add your action. Please try again.');
        }
    })

当我点击按钮时,发送的内容是这样的:

http://www.XXXXXX.com/addacts.php?actiontitle=The+data+I+typed+in&submit=

也就是说,它调用相同的页面而不是Ajax调用中指定的页面。

0 个答案:

没有答案