我已在用户的浏览器中使用JavaScript创建了一个表单。
稍后我想用JavaScript使用字符串填充表单中的字段。
我一直在尝试通常的document.formnamehere.fieldnamehere.value ='Foo Bar';但它不起作用。这仅适用于网页HTML中的表单,而不是使用JavaScript创建的表单吗?
如何填写表单字段?
答案 0 :(得分:2)
如果您通过JavaScript创建表单,那么您仍然应该引用该表单输入...没有看到代码我想这可能不是这种情况,但以下工作:Example here
var form = document.createElement('form');
var text = document.createElement('input');
form.appendChild( text );
form.action = '#';
document.body.appendChild( form );
text.value = 'asdf';
<强> [更新] 强>
如果你想通过他们的名字检索它们,你可以这样做:Example here
var form = document.createElement('form');
form.name = 'someForm';
form.action = '#';
var text2 = document.createElement('input');
text2.name = 'someText';
form.appendChild( text2 );
document.body.appendChild( form );
document['someForm']['someText'].value = 'asdf2';
已更新,将所需属性action
添加到@ user205376所述的表单元素
答案 1 :(得分:1)
/*
credits: subhaze
+ element reference by name
+ finally, generated fragment is valid HTML
*/
var text = document.createElement("INPUT");
text.name = "inputname";
text.type = "TEXT"; /* this is default, anyway */
var div = document.createElement("DIV");
div.style.border = "thin dashed gray";
div.appendChild(text);
var form = document.createElement("FORM");
form.name = 'formname';
form.action = ''; /* required */
form.appendChild(div);
form.onsubmit = function() {
return false
};
document.body.appendChild(form);
text.value = "LION!";
setTimeout(
function() {
document.formname.inputname.value = ">:3"
},
5000
);
答案 2 :(得分:0)