2017-04-06 79 views
0

我目前正在爲我的uni課程學習JavaScript,因爲某些原因我的函數沒有被調用。我想了解爲什麼這不起作用。JavaScript:表單onSubmit不能調用函數

簡要說明

有兩種形式,一是有一個提交按鈕,與onSubmit場調用document.write()(這工作),然後調用我自己的函數submit()。如果我將submit()更改爲document.write(),那麼我收到兩個輸出,所以不應該讀取爲什麼submit未被調用?

第二種形式在其中有一個單獨的文本框,我希望在按下按鈕時使其消失,但是我主要想知道爲什麼不調用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

參見[這裏]中的jsfiddle(https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit)爲(簡潔?)文件。 – SinDeus