2009-05-05 25 views
97

Javascript Javascript Javascriptポップアップを確認して、[OK]の代わりに[はい]、[いいえ]をクリックしてキャンセルします。Javascript Javascript確認確認OK、キャンセルの代わりにボタンなし

私はこのVBScriptコードを使用しています

<script language="javascript"> 
    function window.confirm(str) { 
     execScript('n = msgbox("' + str + '","4132")', "vbscript"); 
     return (n == 6); 
    } 
</script> 

IEでこれだけの作品は、FFとChromeでは、それは動作しません。

Javascriptでこれを達成するための回避策はありますか?

IEのようにポップアップのタイトルを変更したい場合は、「Windows Internet Explorer」が表示されているので、ここに自分のアプリケーション名を表示します。

+0

私はあなた自身が本当に簡単にカスタマイズできるダイアログを作った:https://github.com/stein189/YesNoDialogもしあなたがntを – Szenis

答えて

83

残念ながら、デフォルトのOK/Cancelペアではない確認ダイアログを開くためのブラウザ間のサポートはありません。提供したソリューションはVBScriptを使用します.VBScriptはIEでのみ使用できます。

代わりにDOMベースのダイアログを作成できるJavascriptライブラリを使用することをお勧めします。 jQueryのUIを試してみてください:あなたはクロスブラウザな方法でこれを達成することができますhttp://jqueryui.com/

17

唯一の方法は、jQueryのUIのようなフレームワークを使用してカスタムダイアログを作成することです:

jquery Dialog

それはdoesnの組み込みの確認ポップアップとまったく同じ方法で動作しますが、あなたが望むことを行うことができるはずです。

+3

明確にするために、それは唯一の方法ではありません - あなたはJavascriptであなた自身で書くことができます。それは正しいことではありません。 – LeonardChallis

+1

@LeonardChallisしかし、モーダルのdiv機能のためだけに大きなライブラリを含む方が良いですか?私はそうだとは思わない –

4

confirm()関数などでこのクロスブラウザを実行することはできません。私は、jQuery UI dialogのようなものを使ってHTMLダイアログボックスを作成することを強くお勧めします。

6

http://projectshadowlight.org/jquery-easy-confirm-dialog/も使用できます。それは非常に簡単で使いやすいです。ただ、jqueryの共通ライブラリとだけ1つの以上のファイルが含ま:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script> 
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/blitzer/jquery-ui.css" type="text/css" /> 
<script src="jquery.easy-confirm-dialog.js"></script> 
-9

をポイントに非常に具体的な答えが対話 のJs機能を確認している。

confirm('Do you really want to do so'); 

それは交換するために、[OK]をクリックしてダイアログボックスがボタンをキャンセル示し、これらのボタンはイエスではありませんので、jQuery関数を記述する必要があります。

+1

彼はイエスとナンバーを望んでいた。この確認は大丈夫かキャンセルのみを与える。それがなぜ投票されたのか –

2

は非常に使いやすいhttp://bootboxjs.com/

を見てください:

bootbox.confirm("Are you sure?", function(result) { 
    Example.show("Confirm result: "+result); 
}); 
0

1)あなたは

をあなたのサイトにその後
<link href="/Style%20Library/css/smoothness/jquery.alerts.css" type="text/css" rel="stylesheet"/> 

2)をダウンロードし、ファイルの下にアップロードすることができます以下のコードを直接使用することができます

$ .alerts.okButton = "yes"; $ .alerts.cancelButton = "no";

in document.ready機能。

試してみてください。

おかげ

3

は、あなたが使用できる機能を備えた(しかし、小型でシンプルな)ライブラリがJSDialogです:ここではjs.plus/products/jsdialog

はい]ボタンと[いいえ]ボタンでダイアログを作成するためのサンプルです:

JSDialog.showConfirmDialog(
    "Save document before it will be closed?\nIf you press `No` all unsaved changes will be lost.", 
    function(result) { 
     // check result here 
    }, 
    "warning", 
    "yes|no|cancel" 
); 

JS Dialog demo screenshot

+0

ねえ、どこにこれを載せませんか? – Gary

関連する問題