3

ユーザーがキャンセルリンクをクリックしたときに、jQueryダイアログをconformation-popupとして表示したいと思います。(「本当にキャンセルしますか?」)

jQuery(#{rich:element('cancel')}).click(function(event) {
    var dialog = jQuery(#{rich:element('cancelDialog')});
    if (dialog.is(':visible')) {
        jQuery(#{rich:element('cancelDialog')}).dialog('close');
    }
    else {
        jQuery(#{rich:element('cancelDialog')}).dialog('open');
        event.preventDefault();
    }
});
<h:commandLink action="cancel" immediate="true" id="cancel" value="cancel" />

ダイアログが開いていますが、イベントはキャンセルされません(->キャンセルイベントが続行されます)。代わりにah:commandButtonを使用すると機能しますが、顧客はこれをリンクとして望んでいます。

私はJSF2.0(MyFaces)、jQuery 1.6.1、Spring Webflow 2.3.0.RELEASEを使用し、JSF FrameworkRichfaces4.0.0.FINALとして使用しています。誰かがこれらのフレームワークの解決策を知っていますか?他のフレームワークは使用できません。

ありがとう、パトリック

4

2 に答える 2

1

関数で使用return falseする代わりにevent.preventDefault()

違いの詳細については、次のようにしてください。「returnfalse;」の違い および'e.preventDefault();' </a>

編集済み

それでも機能しないので、同じ機能でクリックの代わりにonmousedownイベントを使用することをお勧めします。JSF h:commandLinkおよびonclickイベント

于 2013-01-03T12:12:46.570 に答える
0

私はこのようにします:

jQuery(#{rich:element('cancel')}).bind('click', function(event) {
    event.preventDefault();
    var dialog = jQuery(#{rich:element('cancelDialog')});
    var action = (dialog.is(':visible')) ? 'close' : 'open';
    dialog.dialog(action);
});

実際には、(a)jQuery 1.7以降を使用し、(b)JSF/Springを使用しないためです。

于 2013-01-03T12:39:48.123 に答える