我有一张表格
<form action="." method="POST" id="my_form">
<!-- Form stuff here -->
</form>
<p onclick="confirmUpdate();">Update</p>
confirmUpdate()
函数生成确认消息和以下输入标记:
<input type="submit" name="my_name" value="Yes. Update the data.">
使用以下JavaScript:
inputYes.type = 'submit';
inputYes.name = 'my_name';
inputYes.value = 'Yes. Update the data.';
inputYes.form = 'my_form';
页面按预期创建,但输入元素上没有form="my_form"
。
使用Javascript生成的HTML必须显示为一个不错的“HTML弹出窗口”(不是警告框),以便在提交之前询问用户信息是否正确。
提前谢谢。
答案 0 :(得分:1)
您应该使用setAttribute
代替:
inputYes.setAttribute('form', 'my_form');
答案 1 :(得分:0)
如果目标是让输入按钮工作,那么在方法confirmUpdate()中,进行以下添加/更改:
此处更新了小提琴:http://jsfiddle.net/B7QAc/4/
//add this
var theform = document.getElementById('my_form');
//change this
document.body.appendChild(screenDiv);
//to this
theform.appendChild(screenDiv);
答案 2 :(得分:0)
虽然之前的答案是正确的,但我找到了一个更好的解决方案来解决我的问题。我不得不更新问题,以便更清楚。使用Javascript生成的HTML旨在显示为一个很好的“弹出窗口”,在提交之前询问用户信息是否正确。
因此,<input>
代码必须位于<form>
之外,并通过id="my_form"
属性引用其form="my_form
。
虽然inputYes.form = 'my_form';
未添加form
属性,但inputYes.setAttribute('form', 'my_form');
可以完成此任务。
注意虽然它只能在脚本结束时使用 ,但它会附加到HTML文档中。否则它将不起作用(至少在这个脚本中)。
即使我缺乏更好地解释它的技术知识,但这些都是我的观察。
这将是公认的答案。我会立即接受比这个更完整的任何其他答案。