我对jquery有一个奇怪的问题(嗯,我对jquery有点新手),但是......
我有一个表格,其中包含一些要填充的元素......好吧 在那之下(但在表格标签内)我有3个按钮:
第一
<button name="submit" id="submit">Atualizar Dados</button>
应该发送表格
第二
<button name="del" id="del">Remove nicedit instance</button>
从表单中删除nicedit实例。
3ND:
<button name="qqq" id="qqq">Q</button>
这只是对div使用淡入效果的测试。
好吧,现在我有四个功能:
$(document).ready(function(){
$('#submit').click(function () {
$.ajax({
type: 'post',
url: 'admin.php',
data: $('form').serialize(),
success: function (str) {
window.location = 'test.php';
}
});
e.preventDefault();
});
///////////////////////////////////////////////
$("#del").click(function(){
txtDescr.removeInstance('LDescr');
});
$("#qqq").click(function(){
$("#info").fadeIn(1500).delay(5000).fadeOut(1500);
});
});
问题在于无论我点击什么按钮,表单都会被提交....即使qqq按钮似乎也提交了表单。我已经尝试了几十种组合,我已经用谷歌搜索了,但我找不到答案。拜托,有人可以告诉我我做错了吗?
谢谢!!!
答案 0 :(得分:2)
这是因为button
元素的默认类型为submit
,您可以将type
属性设置为button
或使用{{阻止事件的默认操作1}}事件对象的方法。
preventDefault
答案 1 :(得分:1)
button
元素为type="submit"
。如果您希望他们不提交表单,则需要将其更改为:
<button type="button" ...
缺失值默认是Submit Button状态。
答案 2 :(得分:0)
button
元素实际上是<input type="submit" />
元素。有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button。
要解决此问题,请在点击事件处理程序中添加对.preventDefault()
或return false
(或两者)的调用,或将type="button"
添加到button
元素,或使用<input type="button" />
代替<button>
元素。