如何使用jquery删除现有的并在表单中添加onsubmit

mym*_*and 4 javascript jquery

给定此HTML来创建表单:

<form name="search" id="myForm" onsubmit="return existingfunc()" method="post">
    <input type="submit" value="Search" title="Search">
</form>
Run Code Online (Sandbox Code Playgroud)

我可以通过jQuery使用更改表单的名称$('#myForm').attr('name','newname').

是否可以更改表单的onsubmit功能?

Jer*_*nch 12

要更改表单onsubmit事件,您可以这样做:

 $('#myForm').attr('onsubmit', 'return somethingElse()');
Run Code Online (Sandbox Code Playgroud)

但是你可能想要删除表单的onsubmit属性然后使用jQuery 添加一个新事件(注意:unbind()将只删除jQuery附加的事件处理程序):

 $('#myForm').removeAttr('onsubmit').submit(function(e) { /* your logic here */ });
Run Code Online (Sandbox Code Playgroud)


bee*_*bug 5

您可以使用 jQuery 的unbind函数删除现有事件,例如:

$('#myForm').unbind('submit');
Run Code Online (Sandbox Code Playgroud)

将从中删除所有onsubmit事件#myForm。然后你可以使用普通的 jQuery 添加一个新事件:

$('#myForm').submit(function(e) { /* your logic here */ });
Run Code Online (Sandbox Code Playgroud)