我使用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调用中指定的页面。