我有以下几点:为什么我的FORM在Ajax调用后被提交?
<form id="form" action="xxx" method="get">
<input type="checkbox" name="cb">
<button onclick="update();">Update</button>
</form>
<script>
function update() {
var data = $("#form").serialize();
$.ajax({
url: "/api/m/x",
type: "post",
data: data
}
).done(function(results,status) {
alert(status);
}).fail(function(error, status) {
alert(status);
});
}
</script>
当我点击更新按钮,Ajax调用是/api/m/x
制成,一个警报被触发。到现在为止还挺好。但是,在我关闭警报对话框后,表单已提交!浏览器发送到xxx?cb=on
,例如,如果我勾选复选框。
这是怎么发生的?我的表单没有<input type='submit'>
元素。谁触发提交表单?
我尝试将return false;
添加到update
函数,但行为仍然相同。
你的成功在哪里ss – unixmiah
这是在'完成'的权利? –
因为你没有做任何事情阻止它被提交 – j08691