Javascript 在Java脚本文本框中,名称不为';我不喜欢

Javascript 在Java脚本文本框中,名称不为';我不喜欢,javascript,html,Javascript,Html,我不想更改表单中的文本框名称,因为它使用了程序中的某些其他位置 问题是JavaScript不喜欢我的文本框名(m4j-117)。它将“-”视为负数 如何在不更改文本框名称的情况下使其工作 谢谢 任何帮助都将不胜感激 这是我的示例代码 <form name="randform"> <body> <script language="javascript" type="text/javascript"> function randomString()

我不想更改表单中的文本框名称,因为它使用了程序中的某些其他位置

问题是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>

函数randomString(){
var chars=“0123456789”;
变量字符串长度=8;
var randomstring='';
对于(var i=0;i

document.getElementsByName("m4j-117")[0].value = "P"+randomstring;
从特定形式:

document.randform.elements["m4j-117"] = "P"+randomstring;

不过,依赖名称有点过时;我建议给它一个ID并直接使用
document.getElementById
,或者使用
querySelector
为表单提供适当的ID

Gabe@那么我的from name呢?我不需要它。?@krishkim-更新了答案+1,但你不喜欢使用表单/输入名称的原因是什么对我来说,最上面一行代码似乎既简短又有描述性。非常感谢您。。!!
document.randform['m4j-117'].value