この問題に対する他の答えはタイミングを扱いますが、この問題はif文内のjavascriptの一部をリフレッシュすることを扱います。JavaScriptの一部分だけをリフレッシュすることはできません
HTMLページが読み込まれると、1つの選択要素が表示されます。どのオプションが選択されているかに応じて、異なる入力フィールドが表示されます。
私の最初の問題は、ユーザーがボタンをリクライニングしたときに、「Submit()」を実行した関数が、同じ入力フィールドを古いものよりも再描画して混乱させるということでした。ユーザーが「送信」をクリックする回数だけ、同じ入力フィールドが表示されます。
checkBool()という関数を追加して、フォームが描画されているかどうかを確認しました。存在する場合は、window.location.reload()関数を呼び出します。そうでなければ、私はSubmit()関数を呼び出すだけです。
コードは入力フィールドをもう積み重ねません。代わりに、別のオプションが選択されていても、2回目に送信ボタンを押すと描画されたフォームは消えます。
私がしたいのは、ユーザーが別のオプションを選択してヒットの送信を行い、現在のフォームが削除され、新しいフォームセットが自動的に描画される場合です。
var boolean = new Boolean();
function checkBool(){
if(boolean==false){
Submit();
}else if(boolean==true){
window.location.reload();
boolean=0;
Submit();
return boolean;
}
}
window.location.reload()関数は、すぐにスクリプトを再ロードし、ブラウザは「提出()」関数を実行したことがないようだ:
は、ここに私のcheckBool()関数です。
愚かな音がする危険があるので、単に送信ボタンをクリックして無効にすると考えていましたか? – karim79
は、サブミット関数 –
を参照してください。ちょうどFYI、あなたは*決して*新しいブール 'を使うべきではありません。 –