【发布时间】:2020-02-17 09:50:12
【问题描述】:
我在 Jquery 中使用.after 方法插入 html 元素。
这是我的 Jquery 代码
$('#add_terms').click(function () {
var i = $('#terms>textarea').length;
$terms = $('#terms' + i);
i++;
console.log($terms);
$terms.after('<br><br>' + i + '. <textarea id="terms' + i + '" name="terms[]" ' + 'cols="60" rows="2" style="vertical-align:middle;"></textarea>');
})
我的html:
<table width="98%" cellspacing="1" cellpadding="3" style="border-collapse:separate; border-spacing:0px 10px;">
<form method="post" enctype="multipart/form-data" name="form1" id="form1" action='' target="_self">
<tr>
<td align="center"> terms</td>
<td id="terms">
1.
<textarea id="terms1" name="terms[]" cols="60" rows="2"
style="vertical-align:middle;"><?php echo $terms1?></textarea>
<br><br>
2.
<textarea id="terms2" name="terms[]" cols="60" rows="2"
style="vertical-align:middle;"><?php echo $terms2?></textarea>
<br>
<input id="add_terms" name="add_terms" type="button" class="bt-add" value="add" style="margin-top:10px">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input id="add" name="add" type="submit">
<input id="clear" name="clear" type="reset" class="bt-return">
</td>
</tr>
</form>
</table>
我发布表单,然后我可以使用
获得 terms1 和 terms2 的值print_r($_POST['terms']);
但是,我无法获得terms3、terms4 的值。
【问题讨论】:
-
我实际上并没有在这段代码的任何地方看到任何形式的发送 POST 请求。所以我最好的猜测是,根本不会发布数据。那里应该有一个表单提交或一个 AJAX 请求,它发送一个带有所需数据的 POST 请求
-
您的输入是否在
<form>标签内? -
为了缩短篇幅,我没有在我的问题中发帖。我已经编辑了。
-
您需要停止在您的 HTML 中创建无效嵌套,否则浏览器的错误更正很可能会由此创建一个 DOM,这与您的预期非常不同。您不能将
form嵌套到这样的表格中 - 它要么必须绕过完整的table元素,要么包含在单个表格单元格中,td。 -
谢谢大家。我找到了重点。我把我的
form标签放在table标签外面。然后它就可以了