我不想在Form中更改我的文本框名称,因为它'使用了程序中的其他位置。
问题是JavaScript不喜欢我的文本框名称(m4j-117)。它将“ - ”视为减号。
如何在不更改文本框名称的情况下使其正常工作。
由于
任何帮助都将受到赞赏。
这是我的示例代码。
<form name="randform">
<body>
<script language="javascript" type="text/javascript">
function randomString() {
var chars = "0123456789";
var string_length = 8;
var randomstring = '';
for (var i=0; i<string_length; i++) {
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
}
document.randform.m4j-117.value = "P"+randomstring;
}
</script>
<input type="button" value="Create Random String" onClick="randomString();">
<input type="text" name="name" value="value" onblur="randomString();;"/>
<input type="text" name="m4j-117" value="">
</body>
</form>
答案 0 :(得分:11)
怎么样:
document.getElementsByName("m4j-117")[0].value = "P"+randomstring;
从特定形式:
document.randform.elements["m4j-117"] = "P"+randomstring;
答案 1 :(得分:6)
document.randform['m4j-117'].value
依赖名字有点陈旧;我建议直接使用document.getElementById
,或者使用querySelector
并为表格提供适当的ID