1

これは単純な JavaScript の質問です。

テキストエリア T があるページ C があります。C のさまざまなボタンをクリックすると、T のコンテンツが追加されます (基本的に、T はボタンがクリックされた回数のリストを蓄積します)。

T の内容をポストリクエストでサーバーに送信するボタンもあります (T は form 要素で囲まれています)。

ユーザーが送信ボタンをクリックするのを忘れてページのウィンドウを閉じた場合でも、ユーザーがウィンドウを閉じる前に送信ボタンをクリックしたかのように、T のコンテンツの投稿が行われるようにします。

ページを閉じるのを傍受し、ユーザーに送信を促すことができることはわかっていますが、それは私が望んでいることではありません。

onbeforeunload で呼び出される関数内から T を含むフォームを送信することはできないようです。

ヒントをありがとう。

4

2 に答える 2

4

これは絶対に不可能です。これは、ユーザーがページを離れたい場合にサイトが即座にページを離れるのを防ぐことができないように設計されたセキュリティ対策です。

最善の方法は、フィールドが変更されるたびに ajax を使用してフォームを投稿することです。

于 2012-10-29T17:50:27.500 に答える
0

このコードをアプリケーションの一部で使用しました。テキストはキャプチャされませんが、試してみてください。

window.onbeforeunload = confirmExit;

function confirmExit(){

    data = $("#data").val();

    $.ajax({
        url: 'complete.php?data=' + data
    });

}
于 2012-10-29T17:54:03.350 に答える