.reset()函数导致错误而不是执行

.reset() function causing error instead of executing

本文关键字:执行 错误 函数 reset      更新时间:2023-09-26

由于某种原因,我在编码重置按钮时遇到了麻烦。我有这样的代码:

 <form name="sub">
   ...
   <button type=submit>Submit</button>
   <button type=reset>Reset</button>
 </form>

当我点击重置,它重置的形式,像往常一样。但是,当我尝试在按钮上绑定手动重置选项时,如以下代码,它返回一个错误:

 var $f = $("form[name=sub]");
 $f.find("button[type=reset]").click(function(e){
   e.preventDefault();
   $f.reset(); // <-- Uncaught TypeError: undefined is not a function
   $(window).scrollTop(0);
 });
我得到这个错误:Uncaught TypeError: undefined is not a function

尝试使用document.form.sub.reset();和尝试$f =(全局变量)而不是var $f =,也不起作用。怎么回事?

reset()是一个DOM方法,所以在DOM对象$f[0]上使用它

然后您尝试DOM 0通过document.form.sub.reset();,您有打印错误:

document.forms.sub.reset();

你可以在jQuery中使用它,只要访问node:

 $("form[name=sub]").find("button[type=reset]").click(function(e){
   e.preventDefault();
   $f.get(0).reset();//jQuery.fn.get return node, not jQuery object
   $(window).scrollTop(0);
 });