我有一个表单,其中包含多个输入块,默认值由 PHP 分配,我想将其中一个块的 HTML 标记传递给 PHP 脚本。这是我的表单的修改片段以举例说明标记:
<form action="/page/do_work/job_number" id="work_form">
<textarea style="display: none;" name="markup" id="markup"></textarea>
<div id="block_1">
<table>
<tr>
<td><input type="text" value="123" /></td>
<td><input type="text" value="123" /></td>
</tr>
</table>
</div>
<div id="block_2">
<table>
<tr>
<td><input type="text" value="abc" /></td>
<td><input type="text" value="abc" /></td>
</tr>
</table>
</div>
</form>
我正在用一些 jQuery 监听表单的提交,这样我就可以将表格的 HTML 复制到 textarea 中。:
$('#work_form').submit(function(){
// Snatch the markup
var markup = $('#block_1', '#work_form').html();
// Place it into the textarea
$('#markup', '#work_form').html( markup );
// Move on
return true;
});
问题是修改后的值没有被复制到文本区域中。例如,如果我将值从“abc”更改为“xyz”,则传递给 textarea 的标记仍然显示“abc”。任何帮助将不胜感激。
编辑:使用.html()
或.val()
同时将标记添加到textarea,但我想知道为什么输入值的变化没有反映在插入到textarea的标记中。进一步检查后,更改输入字段的值,然后在 Firebug 中检查它们显示保留默认值。我需要以某种方式更新 DOM 吗?
编辑 2:正在markup
设置变量,但我对输入字段所做的更改并未反映在插入到 textarea 中的标记中。