0

私が直面している問題は次のとおりです。クリックイベントで実行される関数を使用してフォームを送信する入力があります。この関数は、イベント クリックを無効にし、jquery ダイアログ ボックスを起動します。ダイアログ ボックスには yes/no ボタンがあり、入力から onclick 属性を空にし (関数の再実行を防ぎます)、クリック イベントをトリガーしてフォームを送信します。これは firefox 17 では問題なく動作しますが、firefox 3.5.3 では onclick 属性が空になっていても関数の実行がトリガーされます。これは dom の更新と関係があると思われますが、よくわかりません。

アルゴリズムのスニペットを次に示します。

<form>
  ....
<s:submit action="someAction" onClick="myFunction(this,'save_box_id'); return false;"/>

function myFunction(sauvButton,save_box_id) {

          if($("#save_box_id").is(':data(dialog)')){

              $("#save_box_id").dialog('open');
          }else{
              $("#save_box_id").dialog({
                  buttons:{
                      "Yes":function(){
                                      ...
                          $(sauvButton).attr('onclick','');
                          $(sauvButton).trigger('click');
                          $(this).dialog('close');
                      },
                      "No": function(){
                         ...
                          $(sauvButton).attr('onclick','');
                          $(this).dialog('close');
                          $(sauvButton).trigger('click');



                      },
                      "cancel":function(){
                          $(this).dialog('close'); 
                      }
                  }

              });
          }

 }

ご回答ありがとうございます。

4

0 に答える 0