在Java脚本文本框中名称不喜欢

时间:2013-05-23 20:28:17

标签: javascript html

我不想在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();">&nbsp;
<input type="text" name="name" value="value" onblur="randomString();;"/>
<input type="text" name="m4j-117" value="">
</body>
</form>

2 个答案:

答案 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