0

我有一个<button>内部表格。在它的事件处理程序中,我调用了preventDefault所以单击按钮不会导致表单被提交。

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

如何在仍然阻止表单提交的同时恢复按钮切换?


更新:preventDefault即使我将按钮放在表单之外,问题仍然存在,即它与我错误诊断无关。

为一个误导的问题道歉。

4

2 回答 2

1

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

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

通过更改您正在更改按钮的类型,这个新按钮将永远不会提交表单,除非您使用一些 Javascript手动提交它。

于 2013-11-13T11:39:12.790 回答
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>
于 2013-11-13T11:31:49.393 回答