我使用下面的代码使用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。没有炒锅。我知道我要休息的代码是提供的。
形式中我遗漏了一些东西答案 0 :(得分:6)
答案 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();