我在表单中有一个<button>
。在其事件处理程序中,我调用preventDefault
,因此单击该按钮不会导致提交表单。
问题是,这会导致按钮保持切换状态,就像您单击按住光标的按钮一样。
如何在仍然阻止表单提交的情况下恢复按钮切换?
更新问题仍然存在,即我在错误诊断时与preventDefault
无关。
对误入歧途的问题道歉。
答案 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>