2009-07-25 2 views
2

私はJSに熟練していません。自分自身を理解するには数時間かかるかもしれないので、私はあなたに尋ねました。クリティカルアクションの確認ダイアログを実装するにはどうすればよいですか?

私のサイトには、ユーザを管理するために管理者が使用する「削除/禁止」リンクがあります。これらのリンクはサイトのコンテンツに大きな影響を及ぼすため、リンクの1つがクリックされたときにポップアップするような確認が必要です。

何が起こるかを説明するテキストとOK/Cancelボタンが必要です。

だから私はこのような例のリンクを、持っている:このリンクをクリックすると

<a href="ban.php?id=123" class="confirm_ban">Ban John</a> 
<a href="delete.php?id=123" class="confirm_delete">Delete Post</a> 

、コードがトリガされる必要があります。 OKを押すと、ban.php?id = 123に行き、Cancelを押すと、どこにも行きません。

単純なJSダイアログボックスがあります。または、ファンシーjqueryの電源ボックスへのリンクがある場合は、それにも私を向けることができます。

ありがとうございます!

+0

より良いタイトル下さい。 –

+0

** @ Chacha102:**私はちょうどそれを変更しました。 –

+0

** @ Yegor:**今後の質問では、より多くの人々が実際にあなたの質問を読むように、より記述的な回答が多くの回答につながることに注意してください。 –

答えて

2

最も簡単な方法は、confirm()機能を使用することです。あなたはこのような何かを行うことができ、リンク付き

<a href="someurl" onclick="return confirm('Are you sure?');"> 

それはそのようなonclickの中でアクションを置くために最良のプラクティスではないが、それはあなたがいない方にも理解して動作し、簡単ですプロのjavascripter

+0

リンクがあります。たとえば、次のようになります。 Ban John このリンクをクリックすると、コードをトリガする必要があります。 OKを押すと、ban.php?id = 123に行きます。もしCancelが押せばどこにも行きません。 –

+0

リンクをどのように使用するかを示す回答が更新されました –

0

これをお探しですか?

//Cleaner explanation 
$("document").ready(function(){ 
    $(".dangerousLink").each(function(){ 
     var confirmUrl = $(this).attr('href'); 
     $(this).attr('href', 'javascript:;'); 
     $(this).click(function(){ 
      if(confirm("This is dangerous... are you sure?")) { 
       window.location = confirmUrl; 
      } 
     }); 
    }); 
}); 

//Now just append a class dangerousLink to all links that you want confirmation 
<a href="dangerousStuff.php?x=10" class="dangerousLink">Blow up</a> 

ファンシーダイアログをお探しの場合は、面白いものがあります。here

var confirmed = confirm('Do you really want to do this?'); 
if(confirmed) { 
    //Do dangerous action 
} 

それは基本的にあなたが提供するテキストおよび[OK]をクリックしてボックスを表示し、ボタンをキャンセル:これを達成する

+0

jqueryの例では、リンクをクリックしても何もしません。正常にURLに行くだけです。 –

+0

リンクに危険なクラスを追加しましたか? – Nathan

+0

FF 3.5、Chrome 2、IE 8でテストしましたが正常に動作します。 – Nathan

1

あなたは "削除を確認"のようなものを探していると思います。

Confirm関数は、文字列パラメータを入力として受け取ります。ダイアログには、OKボタンとCancelボタンを使用して、そのパラメータのメッセージが表示されます。

ユーザーが[OK]をクリックすると、確認関数はTrueを返します。ユーザーが[キャンセル]をクリックすると、Falseが返されます。ここで

がそれを使用しての例です:

function fConfirmDelete() 
{ 
    if(confirm("Delete Field?")) 
    { 
     document.forms[0].lblFieldSelect.value="DELETE"; 
     document.forms[0].submit(); 
    } 
    else 
    { 
     document.forms[0].lblFieldSelect.value=""; 
    } 
    return; 
} 
0
var confirm = confirm('Blabla'); 

if(confirm) 
{ 
// do 
} 
0

これは、プレーンJS:

<a href="delete.do" 
     onClick="return confirm('Delete. Are you sure?');">Delete</a> 
関連する問題