2009-07-24 9 views
0

私は、この特定のダイアログボックスアクションでいくつかの回答を見つけようとしています。問題は、ユーザーが「enter」(keyCode = 13)ボタンを押したときに、ダイアログが閉じます。「esc」キーが押されたかのようになります。 「Enter」を押してもダイアログボックスを開いたままにしたいjqueryダイアログボックス

かなり簡単なコード、jquery(1.2.6)の簡単なダイアログボックス。これは狂気運転している

私は、ダイアログボックスこれだけ

var div = $("`<div>`testing`</div>`"); 

$.ajax({ 

     type  :"GET", 
     dataType : "html", 
     cache  : false, 
     async  : false, 
     url  : WorldWideInventory.baseURL+"/templates/invoice_invoicenumber_confirm.tpl.html", 
     error  : function(){ alert("Failed to Connect to Server, Please try Again");}, 
     success : function(response){ 
        div.html(response); 
     } 
}); 

div.appendTo("#APO_Wrapper").dialog({ 

      width:662, 
      height:407, 
      closeOnEscape: true, 
      bgiframe: true, 
      modal: true, 
      title: "Confirm Invoice Number", 
      beforeClose: function(){return false;}, 
      close: function(){return false;} 

}); 

を移入AJAXリクエストを持っている...、誰もがこの問題への提案/答えを持っていますか?良いカルマはあなたの方法で送信されます!

+0

対応するUIバージョンで1.2.6を使用していますか?それは1.6になります。 –

答えて

0

問題は、ダイアログがアクティブになったときに閉じるリンクがフォーカスされているためです。そのため、ユーザーが入力するとcloseダイアログコマンドが効果的に呼び出されます。

と同様に、ダイアログはダイアログ上のオープンイベントを使用して開かれたときに、別のクリック可能(ボタンなど、リンク、フォーム要素など)の要素にフォーカスを与えて試してみてください:どのようにあなたを参照してください

div.appendTo("#APO_Wrapper").dialog({ 

      width:662, 
      height:407, 
      closeOnEscape: true, 
      bgiframe: true, 
      modal: true, 
      title: "Confirm Invoice Number", 
      open: function(event, ui){ $("#someOtherSelector").focus(); } 

}); 

それと一緒に行く。これはjQueryとjQuery UIの現行バージョンでは発生しません。更新できる場合は、それをお勧めします。

関連する問題