2016-08-04 12 views
1

私はonsubmitイベントでJavaScript関数を呼び出していますが、送信ボタンをクリックすると1秒間だけ変更が発生します。JavaScriptの機能が恒久的な変更をしない

<body> 
    <p id="demo"> hello </p> 
    <form id="form" onsubmit ="change()"> 
     <input type="text"> 
     <input type="submit"> 
    </form> 
    <script> 
     function change(){document.getElementById("demo").style.display="none"; 
        document.getElementById("form").style.display="block";} 
    </script> 
</body> 

この関数を呼び出した後に永続的な変更を加えたいと思います。

+1

フォームを送信した結果、ページが再読み込みされていますか? – David

+0

'onsubmit =" return change() ">と' function change(){document.getElementById( "demo")。 document.getElementById( "form")。style.display = "block"; return false;} ' – Rayon

+0

ああ、これが理由です。私には別のバカな質問 –

答えて

1

デフォルトでは、ページが更新されます。したがって、ページを変更すると、ページをリロードすると失われます。

送信ボタンが付いたフォームを使用する代わりに、通常のボタンを使用します。 (あなたが実際にフォームを送信しようとしていないので。)このような何か:あなたはさらにもちろんのアカウントにJavaScriptと任意のCSSを更新する必要があろう、完全にformを削除するには、それを修正することができ

<p id="demo"> hello </p> 
<form id="form"> 
    <input type="text"> 
    <button type="button" onclick="change()" /> 
</form> 

構造変化。

+0

私はフォームを提出したいと思いますし、フォームが提出された後でもページを変更したいと思います。多分私はアクション属性で別のPHPファイルを使用する必要があります。私は$ _SERVER ["PHP_SELF"] globle変数を使用しています。なぜなら、必要なフィールドと入力検証を検証できるからです。同じページにエラーを表示してください –

+0

@nikhil:あなたはどこかで変更を保存する必要があります。プログラムを終了して再起動するときは(ページをリロードするときにJavaScriptを使うのと同じように)、そのプログラムが前回実行したときの何かを記憶するために、その情報をどこかに格納する必要があります。データベースで、サーバー側のセッション状態、クッキーなどで、コードに何かを覚えるだけではなく、データを保存する必要があります。 – David

関連する問題