我正在使用jQuery的append()向我的表单添加不确定数量的隐藏表单字段。当我添加一个时,代码如下所示:
jQuery是:
var teamName = "Dansk";
var newTeam = "<input type="hidden" name="tag" value="' + teamName + '">";
$('#team-display').append(newTeam);
运行这个后,HTML就像这样:
<div id="team-display">
</div>
所以这就是事情:如果我运行这个,并且我使用Chrome的检查器检查DOM,代码看起来很完美,正确的信息会进入HTML,它看起来像这样:
<input type="hidden" name="tag" value="Dansk">
但它传递的脚本只运行 phpinfo(),它回显传递给表单的POST变量,但它没有显示,然而 ,如果我将确切的表单字段复制并粘贴到正确空间的页面中而不通过jQuery添加它,它会执行POST。所以我知道我把它贴在正确的位置。
答案 0 :(得分:1)
当你将元素作为字符串附加到DOM时,某些浏览器(如IE)响应不好(特别是对于表单,我已经有问题将选项附加到选择元素即),我建议尝试将其附加到而是一个jquery对象:
var teamName = "Dansk";
var newTeam = $("<input />", {type: 'hidden', name: 'tag', value: teamName});
$('#team-display').append(newTeam);
还要确保在表单中附加输入。
答案 1 :(得分:0)
嗯,我解决了这个问题 - 我在某个地方有我的FORM开场标签,但是/ FORM标签不在同一级别 - 稍后在DIV里面。奇怪的是,尽管如此,额外的输入(以及表单的其余部分)如果被硬编码到HTML中仍然有效,但是当由jQuery动态生成时,完全相同的额外输入不起作用