1

私はこのコードを使用しました:

 <script type="text/javascript">
  function finish()
  {
    alert("Inserted!");
  }
</script>

ユーザーがアラートの「OK」をクリックすると、別のphpページに移動します。

  • ユーザーが [OK] をクリックしたときにどうすれば理解できますか?
  • どうすれば別のページにリンクできますか?一般的に、私はこの方法を使用します:

    <button type="submit" onclick="window.open('home.php')"> Insert </button>
    

    しかし、アラートの例にはボタンがありません!

ありがとう

4

4 に答える 4

8

alert()ブロック中: が表示されている間、ブラウザーは Javascript コードの実行を停止しalert()ます。の後の次のコード行はalert()、アラート ボックスがクリアされた場合にのみ実行されます。

したがって、アラートがクリアされたかどうかを確認するために特別なことをする必要はありません。の後に実行する残りのコードを配置するだけalert()です。

于 2013-06-19T15:06:43.827 に答える
2

への結果はありませんalertwindow.locationリダイレクトに使用できます。

  function finish()
  {
    alert("Inserted!");
    window.location = 'newpage';
  }
于 2013-06-19T15:05:44.710 に答える
1

ユーザーが [OK] をクリックしたときにどうすれば理解できますか?

alert()がブロックされている場合、スクリプトの実行は表示中に一時停止します。ユーザーが [OK] をクリックすると、スクリプトは引き続き実行されます。アラートステートメントの後に、他のコードを追加するだけです。

どうすれば別のページにリンクできますか?

新しい URL に設定できlocationます…</p>

location = "http://example.com/";

…しかし、一般的に言えば、この関数を通常のリンクのクリックイベント ハンドラーとして実行する方がよいでしょう。

于 2013-06-19T15:06:14.957 に答える
0

を呼び出すことでリダイレクトできますwindow.location=URL

アラートはモーダルです。情報を提供するだけで、無視されます。アラート メッセージが閉じられた後も、スクリプトは引き続き実行されます。

ユーザーが警告メッセージを読んだ後にリダイレクトするだけの場合は、次を使用できます。

function finish() {
  alert("When you click OK you will go to a new page.");
  window.location = "http://www.yoururl.com";
}

一方、Confirm はユーザーに質問を与え、ユーザーの応答に基づいて true/false を返します。これはおそらく、代わりに使用する必要があるものです。

この場合、関数は次のようになります。

function finish() {
  var continue = confirm("Finish and go to the next page?");
  if (continue) {
    window.location = "http://www.yoururl.com";
  }
}

どちらの仕上げ機能でも、お好みでボタンに取り付けるだけです。最も直接的な方法は、質問で行ったようなものです。

<button type="submit" onclick="finish()"> Insert </button>

ただし、ボタンがフォーム内にあり、onclick でバインドする場合、submit イベントにバインドして防止しない限り、実際にはフォームが送信されることに注意してください。

于 2013-06-19T15:10:45.897 に答える