2

Web ページに Web フォームがあります。ユーザーがページを離れる前に、「はい」または「いいえ」ボタンでフォームを完了したかどうかをユーザーに尋ねる JavaScript ポップアップ メッセージが必要です。ユーザーが「はい」をクリックすると、目的のページに移動します。ただし、ユーザーが「いいえ」をクリックすると、ユーザーはこのページに残ります。

私はJavascriptにあまり詳しくないので、どんなガイダンスでも大歓迎です。以下のようなものを使用すると思われます。

<ELEMENT onbeforeunload = "handler" ... >

前もって感謝します。

スプリット P.

4

2 に答える 2

4

これがあなたが他の誰かに要求されていることなのか、それともあなたが良い考えだと思うことなのかはわかりませんが、選択できる場合は、これを行わないでください. ユーザーがページを離れたい場合は、既に知っていることを伝えずにページを離れさせます。さらに、最近のいくつかのブラウザーには既にこの機能が組み込まれているため、ユーザーにとって煩わしい別のレイヤーが追加されるだけです。

そうは言っても、このページを見てください、知っておく必要があるすべてのことを教えてくれます.

onbeforeunload が風変わりなのは、イベント ハンドラーで何かを返すと、ユーザーがページを離れたいと本当に確信しているかどうかを確認するアラート ボックスがポップアップ表示されることです。

...

return ステートメントに文字列を含めることで、これらの 2 行の間に独自の説明テキストを挿入できます。例えば:

<script type="text/javascript">
  window.onbeforeunload = function () {
    return "The text you want the alert box to say.";
  }
</script>
于 2010-08-10T16:26:52.827 に答える
2

2 1つのこと(私が助けている@horrayに感謝します)。

フォームがプログラムで入力されているかどうかを検出することをお勧めします。ユーザーがクリックして重要なデータを提供せずに続行する場合は、フォームを要求します。彼らがそれを提供しないことに決めたら、彼らを手放します。

例えば:

var requiredField = document.getElementById("required");
if (requiredField.value == "")
{
    if (!confirm("Are you sure you want to go without saving your work?")){
       requiredField.focus();
    }
}

あなたが述べたように、リンクのクリックハンドラー、送信ボタン、またはbeforeunloadイベントにそれを置くことができます。

于 2010-08-10T16:34:41.870 に答える