0

ユーザーが作業中のページを閉じようとするたびにユーザーに警告することになっているメカニズムを Web サイトに追加しています。次のように、関数dropDraftConfirmationwindow.onbeforeunloadイベントにバインドしています。

window.onbeforeunload = dropDraftConfirmation;

function dropDraftConfirmation()
{
    if (<there is an input or textarea element not empty on the page>) {
        alert('Your changes will be lost. Are you sure you want to exit the page?');
    }
}

しかし、これはページを閉じるたびに呼び出されます。だから私の質問は、空ではない入力要素またはテキストエリア要素がページにあるかどうかを検出する方法ですか? ちなみにjQueryを使っています。

4

4 に答える 4

2

これでうまくいくと思います。

window.onbeforeunload = dropDraftConfirmation;

function dropDraftConfirmation()
{
    if ($("input:empty,textarea:empty").length == 0) {
        alert('Your changes will be lost. Are you sure you want to exit the page?');
    }
}
于 2012-12-07T06:40:04.417 に答える
0

以下のように関数を書き直して、アンロードする前に保存されていない変更を確認します

window.onbeforeunload = checkUnSaved;

function checkUnSaved(){
     if($("#textarea").val() === ""){
         dropDraftConfirmation();
     }else
         return;
}

function dropDraftConfirmation()
{
    if (<there is an input or textarea element not empty on the page>) {
        alert('Your changes will be lost. Are you sure you want to exit the page?');
    }
}
于 2012-12-07T06:38:49.693 に答える