私が直面している問題は次のとおりです。クリックイベントで実行される関数を使用してフォームを送信する入力があります。この関数は、イベント クリックを無効にし、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');
}
}
});
}
}
ご回答ありがとうございます。