我有一张表格,里面有100多个表格。我正在将其容器的html发布到一个表单中(忽略现在可能或不可能的粗略),但表单值不是返回文本的一部分。如何调整以下代码以包含输入的表格值?
var dd = escape($('#lb-content').html());
答案 0 :(得分:0)
问题可能出在innerHTML属性中,这基本上就是jQuery的html()方法返回的内容。它尚未标准化,您可能会针对不同的浏览器获得不同的结果。
如果您真的需要使用这样一个粗略的解决方案,您可能会尝试克隆每个输入/选择元素,将其附加到表单,并在发布之前删除原始。这可能会强制html()捕获“更新”值。
我没有对此进行测试,因此可能根本无法使用。
答案 1 :(得分:0)
当浏览器解析<input value="...">
时,此值将成为“默认”值。它需要并保存在DOM模型中以实现“重置”功能。
您需要在DOM模型中的其他位置存储用户的值。由于事后收集数据的速度很慢,因此最好在用户使用输入时存储值,无论是$('#lb-content input').change()
还是任何其他处理程序。然后,您有两个选择:将值存储在隐藏的有效元素(span
或类似的元素)中,或使用data-myownattr="val"
,因为它在HTML5中有效使用前缀为data-
的自定义属性(请参阅How to store arbitrary data for some HTML tags)
答案 2 :(得分:-1)
我刚才意识到我之前在另一个问题中回答了这个问题:how to get generated html form with jquery
$('#lb-content input').each(function(){
$(this).attr('value', $(this).val()
});
console.log($('#lb-content').html());