Javascript 尝试重置html表单时出错
在我当前的spring项目中,在我提交表单之后,我需要重置它。我使用以下javascript/jquery代码执行此操作:Javascript 尝试重置html表单时出错,javascript,jquery,jquery-forms-plugin,Javascript,Jquery,Jquery Forms Plugin,在我当前的spring项目中,在我提交表单之后,我需要重置它。我使用以下javascript/jquery代码执行此操作: $('form.form').ajaxForm(function(data) { $('form.form').each(function(){ this.reset(); }); }); 这段代码的问题是,有些表单有内部表单,在弹出窗口中打开,源代码放在同一个jsp页面中。在这种情况下,上面的代码将重置这两个表单 我尝试了其他代码: $(
$('form.form').ajaxForm(function(data) {
$('form.form').each(function(){
this.reset();
});
});
这段代码的问题是,有些表单有内部表单,在弹出窗口中打开,源代码放在同一个jsp页面中。在这种情况下,上面的代码将重置这两个表单
我尝试了其他代码:
$('form.form').ajaxForm(function(data) {
$(this).each(function(){
this.reset();
});
});
但是有了这个,我得到了这个错误:
Uncaught TypeError: Object #<Object> has no method 'reset'
但情况还是一样
更新2
最后,我尝试以下代码:
$('form.form').ajaxForm(function(data) {
var nome = $('form.form').attr('id');
if(data == '')
$('#yes').css('display', 'block');
else
$('#not').css('display', 'block');
$('#'+nome).each(function(){
this.reset();
});
});
$('form.form').each(function () {
var form = this;
$(form).ajaxForm(function (data) {
if (data == '') {
$(form).find('#yes').css('display', 'block');
} else {
$(form).find('#not').css('display', 'block');
}
form.reset();
});
});
只重置主窗体,即第一个要打开的窗体。我想知道是否有一种方法可以引用上次打开的表单,即在jquery ui对话框中打开的表单。我已经对该问题进行了一些代码模拟,但是,我仍然不确定我是否正确理解了这里的问题,您的问题是如何仅重置1个表单?在任何地方,我都会解释错误并重置特定的表单
Uncaught TypeError: Object #<Object> has no method 'reset'
我终于找到了这个问题的解决方案,代码如下:
$('form.form').ajaxForm(function(data) {
var nome = $('form.form').attr('id');
if(data == '')
$('#yes').css('display', 'block');
else
$('#not').css('display', 'block');
$('#'+nome).each(function(){
this.reset();
});
});
$('form.form').each(function () {
var form = this;
$(form).ajaxForm(function (data) {
if (data == '') {
$(form).find('#yes').css('display', 'block');
} else {
$(form).find('#not').css('display', 'block');
}
form.reset();
});
});
按照此答案中的说明进行操作:检查@Se0ng11我已经看到了这个问题,到目前为止我已经尝试了第一种方法,但由于内部表单的问题,我无法使用它。通过ajaxForm传递的数据是什么样子的?@Se0ng11这是我现在所期望的,只是一个空字符串。螺母我没有在函数中使用它。@Se0ng11抱歉再次打扰您。我尝试了在您指示我的链接中描述的另一件事,看到了更新,但仍然发生了相同的错误。看到这个JSFIDLE::当我提交内部表单时,所有表单都被重置。好的,我刚刚看到了您实际在做什么,您的内部表单肯定会被重置,因为它在父表单中,但在实际情况下,内部表单不在父表单中,请参见此处:内部表单位于页面开头的中。