我想使用javascript访问表单元素。表单是动态生成的,因此表单的名称,id和元素是可变的。我希望通过提供由不同脚本生成的表单名称来获取其中textarea
的id值。
例如:
<form method=post name=form33>
<textarea id=466 cols=50 rows=5></textarea>
<input name=submit33 onclick=postCmnt(33) value=Post type=button>
</form>
我的表单名称为“form33”,我需要textarea
id为466作为输出...
function openComment(id, msgid, div) {
var div = document.getElementById(div);
div.innerHTML = "<form method=post name=form"+id+">
<textarea id="+msgid+" cols=50 rows=5></textarea>
<input name=submit"+id+" onclick=postCmnt("+id+") value=Post type=button>
</form>"
}
我尝试通过提供表单名称来访问id
textarea
名称。
function postCmnt(id){
var msgid=document.forms["form"+id].elements[0].id.value;//the text area's id
var msg=document.getElementById(msgid).value;//value of text area
//rest scripts goes here
}
信息:
答案 0 :(得分:2)
您可以添加包含msgid的隐藏字段:
Javascript生成表单:
function openComment(id,msgid,div){
var div = document.getElementById(div);
div.innerHTML="<form method=post name=form"+id+">
<input type='hidden' id='theid"+id+"' value='"+msgid+"'>
<textarea id="+msgid+" cols=50 rows=5></textarea>
<input name=submit"+id+" onclick=postCmnt("+id+") value=Post type=button>
</form>"
}
然后直接获取值:
function postCmnt(id){
var msgid=document.getElementById("theid"+id).value;//the text area's id
var msg=document.getElementById(msgid).value;//value of text area
//rest scripts goes here
}
答案 1 :(得分:1)
如果文档中只有一个表单,则可以执行
document.forms[0]
答案 2 :(得分:0)