按钮仍然使用preventDefault切换

时间:2013-11-13 11:16:14

标签: javascript jquery dom-events

我在表单中有一个<button>。在其事件处理程序中,我调用preventDefault,因此单击该按钮不会导致提交表单。

问题是,这会导致按钮保持切换状态,就像您单击按住光标的按钮一样。

如何在仍然阻止表单提交的情况下恢复按钮切换?


即使我将按钮放在表单外,

更新问题仍然存在,即我在错误诊断时与preventDefault无关。

对误入歧途的问题道歉。

2 个答案:

答案 0 :(得分:1)

如果您希望使用<button>元素阻止表单提交,可以将type设置为button,即:<button type="button">

默认情况下,button对象的类型为Submit,导致表单提交。您可以通过更改类型来阻止这种情况。

通过更改您要更改按钮的类型,除非您使用某些Javascript手动提交,否则此新按钮将永远不会提交表单。

答案 1 :(得分:0)

你可以试试这个。

function checkForm(){

var form=document.forms[0];

if(form.name.value==''){  
 alert("enter name, please");
 return false;
    }

return true;

}



<form><input type="text" name="name"><input type="submit" onclick="return checkForm()"></form>