将表单字段重置为初始状态

时间:2013-04-05 11:28:04

标签: javascript jquery css forms

我使用下面的代码使用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。没有炒锅。我知道我要休息的代码是提供的。

形式中我遗漏了一些东西

6 个答案:

答案 0 :(得分:6)

你有没有理由忽视重置输入元素?

http://jsfiddle.net/BhTv5/

<input type="reset" />

答案 1 :(得分:2)

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

更改

$("#login_form").reset()

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

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

<强> Live Demo

更改

<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();
});

答案 2 :(得分:1)

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

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

(OR)

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

答案 3 :(得分:0)

reset是javascript方法,需要DOM对象

应该是

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

答案 4 :(得分:0)

您必须使用属性选择器获取name

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

或id:

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

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

答案 5 :(得分:0)

使用JavaScript

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

使用jQuery

("#login_form").reset();