0

これが、常にこのような奇妙なことを行うため、私が常にJavascriptを嫌っていた理由です...このEXACTコードをスクリプトに追加しても問題はありませんでした。次に、EXACTコードを別のコードに貼り付けましたが、まったく機能しません。とてもイライラします。これがコードです。問題は何ですか? また、フォーム名の代わりに elementID で機能させることができれば、ありがとうございます

<script language="javascript" type="javascript">
<!-- 
function randomPassword(length)
{
chars = "abcdefghijklmnopqrstuvwxyz!@#$%^&*()-+<>ABCDEFGHIJKLMNOP1234567890";
    pass = "";
for(x=0;x<length;x++)
{
     i = Math.floor(Math.random() * 67);
     pass += chars.charAt(i);
}
return pass;
}

function formSubmit()
{
    myform.row_password.value = randomPassword(myform.length.value);
    return false;
}
// -->
</script>


<form name="myform" method="post" action="">
  <table width="100%" border="0">
    <tr>
      <td width="120">Username:</td>
      <td><input name="update_username" type="text" value="" size="40"></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><input name="row_password" type="text" size="40"> &nbsp; <input type="button"         class="button" value="Generate" onClick="javascript:formSubmit();" tabindex="2"></td>
    </tr>
  </table>
</form>
4

3 に答える 3

1

削除され、javascript:追加されdocument.myform、変更されました...randomPassword(myform.update_username.value.length);今はうまくいくようです.. JS ビンのデモ

function randomPassword(length)
{
chars = "abcdefghijklmnopqrstuvwxyz!@#$%^&*()-+<>ABCDEFGHIJKLMNOP1234567890";
    pass = "";

for(x=0;x<length;x++)
{
     i = Math.floor(Math.random() * 67);
     pass += chars.charAt(i);
}
return pass;
}

function formSubmit()
{
document.myform.row_password.value = randomPassword(myform.update_username.value.length);
    return false;
}
于 2013-10-27T10:49:42.630 に答える
0

のコードformSubmitは、フォームの名前が であることを期待していますpassform。それに応じてフォームを変更するか、myform代わりに使用するコードを変更してpassformください。

または、フォームをパラメーターとして受け取るようにコードを変更することもできます。

function formSubmit(frm) {
  frm.row_password.value = randomPassword(myform.length.value);
  return false;
}

次に、次を使用して呼び出します。

onclick="formSubmit(this.form);"

lengthフォームで呼び出されたフィールドがありません:

<input type="hidden" name="length" value="10">

デモ: http://jsfiddle.net/Guffa/DDn6W/

補足:javascript:イベント属性にコードを入れるときは使用しないでください。hrefこれは、コードを属性に入れる場合にのみ使用されます。タグ内に<!--andを使用しないでください。これは、タグの目的がわからないブラウザーのページにコードが表示されないようにするための古い構造です。それらはもう存在しません。-->scriptscript

于 2013-10-27T10:36:23.803 に答える