1

フォームに確認ダイアログが表示され、[OK] をクリックするとユーザーが別のページにリダイレクトされます。

ただし、そのページを新しいウィンドウで開くことは可能ですか (例: target="_blank")

私が使用しているコードは次のとおりです。

var answer=confirm("Do u want to continue?") {
if (answer==false) {
document.form.field1.focus();
return false;
}
window.location.href = "/some/url"
}
4

2 に答える 2

1

したがってwindow.location、現在のウィンドウの場所を参照するため、もちろんそれを変更すると、現在のウィンドウから離れます。新しいウィンドウを開くには、JavaScript を使用して新しいタブ (新しいウィンドウではなく) で URL を開くwindow.openを参照してください。

ただし、代わりに、ユーザーが false と答えた場合はデフォルトの動作をインターセプトし、それ以外の場合はデフォルトの動作にフォールバックするリンクを使用することをお勧めします。

すなわち:

<a href="/some/url" id="foo">bar</a>

$('#foo').click(function(e){
  var answer=confirm("Do u want to continue?") {
     if (answer==false) {
       document.form.field1.focus();
       e.preventDefault();
     }
  }
});

それが実際に機能するかどうかを再確認する必要がありますが、確認をまったく行っていないため、そのブロックの外で e.preventDefault() を呼び出す必要がある場合があります。

于 2013-08-28T15:20:04.523 に答える
-2
window.open(
  '/some/url',
  '_blank'
);
于 2013-08-28T15:19:36.193 に答える