2017-04-06 8 views
0

現在、私のuniコースのJavaScriptを学習中です。何らかの理由で関数が呼び出されていません。なぜこれが機能していないのか理解したい。JavaScript:フォームon関数を呼び出さずに送信

簡単な説明

二つの形式がありますが、一つはその後、私自身の機能submit()を呼び出し、document.write()を呼び出すonSubmitフィールド(これは動作します)で、ボタンを提出しています。私がsubmit()document.write()に変更した場合、2つの出力を受け取るので、なぜsubmitが呼び出されないのかを読み取るべきではありませんか?

2番目のフォームには1つのテキストボックスがありますが、ボタンを押すと消えてしまいますが、なぜsubmitが呼び出されないのかが分かります。

<html charset="utf-8"> 
<head> 
    <title>Game</title> 
</head> 
<body> 
    <form method="get" name="form1" action="game.php" onSubmit="document.write('Hello');submit();"> 
     <input type="submit" value="submit" name="button" /> 
    </form> 

    <form id="form2" name="form2"> 
     <input name="letter" type="text" /> 
    </form> 
    <script> 
     function submit() { 
      alert("HELLO"); 
      document.getElementById('form2').visibility='hidden'; 
      document.write("Hello"); 
     } 
    </script> 
</body> 

私は機能上で、機能の下に、ヘッダーにスクリプトを挿入しようとしたが、何も動作していないようにみえます。

誰かが助けることを願って、おかげで

答えて

5

を提出し、予約キーワードです。他の名前に変更すると動作します。同じ

https://jsfiddle.net/pc9rL2ey/

 function submita() { 
      alert("HELLO"); 
      document.getElementById('form2').visibility='hidden'; 
      document.write("Hello"); 
     } 


<form method="get" name="form1" action="game.php" onSubmit="submita();document.write('Hello');"> 
+0

参照[ここ](https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit)(簡潔のためのJSFiddleを見つけてください。 ?) ドキュメンテーション。 – SinDeus

関連する問題