2

プログラムの他の場所を使用しているため、フォームのテキストボックス名を変更したくありません。

問題は、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>
4

2 に答える 2

11

どうですか:

document.getElementsByName("m4j-117")[0].value = "P"+randomstring;

特定のフォームから:

document.randform.elements["m4j-117"] = "P"+randomstring;
于 2013-05-23T20:30:01.027 に答える
6
document.randform['m4j-117'].value

ただし、名前に依存することは少し時代遅れです。document.getElementByIdID を指定して直接使用するかquerySelector、フォームに適切な ID を使用することをお勧めします

于 2013-05-23T20:30:50.983 に答える