0

type="text"JavaScript(jQuery)を使用していくつかの入力()ボックスを検証しています。

それらは$('').dialog()、ボタンをクリックすると表示されるボックス上にあります。

初めてダイアログを表示すると、検証コードですべてがうまく機能します。

function verifyContactForm() {
    formValid = true;
    txtSubject = $('#txtSubject');
    txtRoom = $('#txtRoom');
    txtMessage = $('#txtMessage');

    if (txtSubject.val() == "") {
       formValid = false;
       txtSubject.css('border-color', 'red');
    }
    else
       txtSubject.css('border-color', 'lightgray');

    if (txtRoom.val() == "") {
       formValid = false;
       txtRoom.css('border-color', 'red');
    }
    else
       txtRoom.css('border-color', 'lightgray');

    if (txtMessage.val() == "") {
       formValid = false;
       txtMessage.css('border-color', 'red');
    }
    else
       txtMessage.css('border-color', 'lightgray');

    return formValid;
}

ユーザーがダイアログを終了し、すべてが有効になると、ajax呼び出しを使用してデータがサーバーに送信されます。

これで、ユーザーがページをリロードせずにダイアログを2回開いたときに、テキスト要素に古いテキストが残っています。テキストは入力ボックスに表示されませんが、テキストを選択すると.val()、古いテキストがまだ含まれています。

なぜこれがそのようなのか誰かが知っていますか?

キャッシングと関係があると思いますが、よくわからないので、この質問をしています。

4

2 に答える 2

0

form_element.reset()ダイアログを開いた後、またはデータを送信した後に呼び出します。

于 2012-07-26T08:21:24.577 に答える
0

この解決策で問題を解決できます。

主な問題は、ダイアログを適切に閉じてDOMから削除しないと、問題が発生することです...

jquery:閉じるときにダイアログを完全に削除する方法

このリンクは私が何を意味するかを示しています。

于 2012-08-04T12:17:30.333 に答える