在我的网页中,通过Ajax插入表单。我正在使用$("#my-ajax-returned-form")[0].reset();
来重置表单,但它对我不起作用。 Firebug控制台显示TypeError: $("#my-ajax-returned-form")[0] is undefined
。有任何线索如何修复它?实际流程如下,其简单的vanilla AJAX with jquery
$('#target-div').html(returnedFormHTML)
发送一个插入网页的表单,其中包含我的表单,标识为my-ajax-returned-form
$.post()
my-ajax-returned-form
$("#my-ajax-returned-form")[0].reset();
的另一种方法
现在很明显,在某种意义上,表单必须是live
,但我无法弄明白:(
以下是主要网页 - http://pastebin.com/rtkr8RUC 这是#my-ajax-returned-form表单 - http://pastebin.com/jtjakgUt 我不能轻易地在jsfiddle上发布完整的代码,请耐心等待
更新
我发现了这个问题,在名为reset的表单中有一个重置按钮,所以很明显form.reset不是一个函数
但textarea
仍未重置!
修复了textarea问题
答案 0 :(得分:1)
undefined
清楚地表明找到表单时出现问题。你确定选择器是否正确,你是否在正确的iframe内寻找它等。尝试记录$("#my-ajax-returned-form")
以查看它是否找到任何东西。
答案 1 :(得分:0)
你可以尝试$('#my-ajax-returned-form')。eq(0).reset(),但由于选择器是一个id,所以应该是唯一的,这似乎没什么用感。
另一方面,reset() - 函数是否定义了?