1

我正在使用以下代码使用 Jquery 来设置我的表单字段

 $("#frmlogin").reset()

以上是我用来重置以下表单中的字段的代码

<form  name='frmlogin' method='POST' id="login_form" style="margin:0 auto; margin-top:50px; width: 40%; height:300px; text-align:center;">

                        <input class="oFormJumbo oFormMed oInputText" type="text" name="requiredLogin" placeholder="Login Id" AUTOCOMPLETE=OFF />
                        <div class="cleaner h10"></div>
                        <input class="oFormJumbo oFormMed oInputText "  type="password" value="" name="password" placeholder="Password"  AUTOCOMPLETE=OFF onfocus="changetoUpperCase(document.frmlogin.requiredLogin.value);" />
                        <div class="cleaner h10"></div>
                        <a href="javascript:fp();">Forgot Password?</a>
                        <div class="cleaner"></div>
                        <input style="margin-left:0px; "   class="submit_btn float_l" type="button" value="Sign In" name="Sign In" onClick="javascript:func_get_data();"/>
                        <input style="margin-left: 200px; "  class="submit_btn float_r" type="button" value="Reset" id="reset" name="reset"   onclick="javascript:Reset()"/>

 </form>

由于某种原因,代码不起作用。JavaScript 抛出以下异常

TypeError: $("#frmlogin").reset is not a function
[Break On This Error]   

$("#login_form").reset()

谁能告诉我为什么它不起作用?我已经包含了 Jquery.js。

根据 Adils 的建议,我什至尝试过

*$("#login_form")[0].reset()*

现在它给了

TypeError: $("#frmlogin")[0] is undefined
[Break On This Error]   

$("#frmlogin")[0].reset()

我错过了什么?

我尝试了除了 Amit Agrawal 之外的所有代码,因为我想使用 Jquery。没有炒锅。我知道我的休息代码是提供的。我在表格中遗漏了一些东西

4

6 回答 6

6

您是否有某些原因忽略了重置输入元素?

http://jsfiddle.net/BhTv5/

<input type="reset" />
于 2013-04-05T12:04:04.137 回答
3

您正在使用 jQuery 对象调用重置,使用 DOM 对象调用重置,您可以使用索引器将 jQuery 对象转换为 DOM 对象。

改变

$("#login_form").reset()

$("#login_form")[0].reset()

根据评论进行编辑,问题的另一个原因是重置按钮的 ID 和名称。令人惊讶的是,如果有任何带有 id 或 name 重置的输入,那么 form.reset() 函数将停止工作。更改重置按钮的 id 和名称,上面的代码将起作用。

现场演示

改变

<input style="margin-left: 200px; "  class="submit_btn float_r" type="button" value="Reset" id="reset" name="reset"   onclick="javascript:Reset()/>

<input style="margin-left: 200px; "  class="submit_btn float_r" type="button" value="Reset" id="myreset" name="myreset" />

用按钮绑定事件

$('#myreset').click(function () {   
    $("#login_form")[0].reset();
});
于 2013-04-05T11:28:51.457 回答
1

试试这个代码你不会得到类型错误。你声明的 id 是错误的你声明了表单名称不是 id 尝试使用 id 并重置表单。

document.getElementById("login_form").reset();

(或者)

  $("#login_form").reset();
于 2013-04-05T11:30:57.433 回答
0

reset 是 javascript 方法,需要 DOM 对象

它应该是

$("#login_form")[0].reset()
于 2013-04-05T11:29:48.233 回答
0

您必须获得namewith 属性选择器:

$('form[name="frmlogin"]').reset();

或带身份证:

$('#login_form').reset();

您的代码中断是因为您没有引用具有正确属性的表单。

于 2013-04-05T11:33:28.577 回答
0

使用 JavaScript

document.getElementById("login_form").reset();//Use the id of the form

使用 jQuery

("#login_form").reset();
于 2013-04-05T11:35:38.317 回答