Javascript 如何重置文本字符串中的HTML字段,它只是表单的一部分?(最好使用jQuery)

Javascript 如何重置文本字符串中的HTML字段,它只是表单的一部分?(最好使用jQuery),javascript,jquery,string,field,reset,Javascript,Jquery,String,Field,Reset,可能重复: 这个问题的答案是不在这个问题中查找:,因为我没有表单ID可连接 我有一个文本字符串,它的值是HTML代码片段,其中包含一些表单元素,带有预先填充的值​​. 必须清除/重置此代码段(仅)中的所有字段。您可以创建一个表单,用字符串填充它,然后重置它,如下所示: var myForm = $('<form>').html(your_string). find(':input').not(':button, :submit, :reset, :h

可能重复:

这个问题的答案是在这个问题中查找:,因为我没有表单ID可连接


我有一个文本字符串,它的值是HTML代码片段,其中包含一些表单元素,带有预先填充的值​​. 必须清除/重置此代码段(仅)中的所有字段。

您可以创建一个表单,用字符串填充它,然后重置它,如下所示:

var myForm = $('<form>').html(your_string).
                find(':input').not(':button, :submit, :reset, :hidden').
                val('').removeAttr('checked').removedAttr('selected');
var myForm=$('').html(您的字符串)。
查找(':input')。而不是(':button,:submit,:reset,:hidden')。
val(“”).removeAttr('checked').removeAttr('selected');

然后,只要访问
myForm

innerHTML
,假设您有这样一个文本字符串:

var txt = '<form id="search" action="/search" method="get" autocomplete="off"><div><input autocomplete="off" name="q" type="text" value="sample"></div></form>'
var $form = $(txt);

$form[0].reset();

var resetTxt = $form.html();
var txt=''
var$form=$(txt);
$form[0].reset();
var resetTxt=$form.html();

好的,然后使用@sdleihssirhc方法将html片段附加到表单元素。我不能这样做,因为我的字符串已经是表单的一部分了。但在这种状态下,它只是没有附加到表单中。@Peter你说它“已经是表单的一部分”是什么意思?我希望你理解文本字符串是一个变量,而不是页面源代码中现有的HTML。@Peter我的回答假设你将文本字符串作为变量(即
你的_字符串
)部分,但它也假设该字符串包含HTML。不是这样吗?是的,是这样。它是一个带有HTML的字符串。字符串将成为已经存在的表单的一部分。事实上,字符串已经有点脱离了表单,我想在重用之前“回收”并清除它。