2017-06-17 13 views
0

フォームを送信した後に消えたいHTMLページの一番上にフォームがあります。私のコード(下)は、フォームを一時的に隠している間に、フォームが再び見えるようにすることを主張します。どんな助けもありがとう。投稿時にフォームを非表示にするためのjavascriptの方法

おかげで、

オーウェンウォーカー

<!DOCTYPE html> 
<html> 
<body> 

<form id="form" onsubmit="myFunction()"> 
    Enter name: <input type="text" name="fname"> 
    <input type="submit" value="Submit"> 
</form> 

<div id="first_div" style="visibility:hidden">Second</div> 

<script> 
function myFunction() { 
    alert("The form was submitted"); 
    document.getElementById("form").style.display = "none"; 
    document.getElementById("first_div").style.visibility = "visible"; 
alert("after"); 
} 
</script> 

</body> 
</html> 

答えて

0

あなたが提出され、ページをリロードされることからフォームを防ぐために何もしていません。フォームの行を変更します。

<form id="form" onsubmit="return myFunction()"> 

とあなたの関数の追加でアラート後:それは手間をかけずに詰め込むのこのタイプを行うための強力なツールであると

return false; 
+0

ありがとうございます! 2つの変更は完全に機能しました。 (理由はわかりません) –

+0

送信イベントを停止するには、falseを返す必要があります。 – j08691

0

私はjQueryのを使用するためにあなたをお勧めします... もあなたはSをクリックすると、フォームを送信するのを防ぐには、この方法で

<!DOCTYPE html> 
<html> 
<body> 

<form id="form" onsubmit="myFunction()"> 
    Enter name: <input type="text" name="fname"> 
    <input type="submit" id="submit" value="Submit"> 
</form> 

<div id="first_div" style="visibility:hidden">Second</div> 

<script> 
// using JQuery 
$(document).ready(function(){ 
     $("#submit").click(function(e){ 
       e.preventDefault(); 
       $("#form").submit(); 
       $("#form").hide(); 
       alert("Your form was successfully submitted"); 
      }); 
    }); 
</script> 

</body> 
</html> 

` ノートでpreventDefault(の使用)を行うことができますubmit。

関連する問題