JQuery, JSF und a4j: command
-
06-07-2019 - |
Frage
Ich habe ein Problem mit der Verwendung von jQuery Dialog und Ajax in JSF einreichen. Ich habe den folgenden Code Dialogfenster zur Anzeige:
<script type="text/javascript">
jQuery(function(){
// Dialog
jQuery('#dialog').dialog({
dialogClass: 'alert',
autoOpen: false,
width: 300,
height: 150,
modal: true,
resizable: false,
overlay: {
backgroundColor: '#000',
opacity: 0.5
},
buttons: {
"Ok": function() {
jQuery(this).dialog("close");
return true;
},
"Cancel": function() {
jQuery(this).dialog("close");
return false;
}
}
});
// Dialog Link
jQuery('#dialog_link').click(function(){
jQuery('#dialog').dialog('open');
return false;
})
.hover(
function() { jQuery(this).addClass('ui-hover-state'); },
function() { jQuery(this).removeClass('ui-hover-state'); }
);
});
</script>
It works as it should - it displays box when link is clicked.
Now, I have something like this, for deleting something:
<a4j:commandLink
actionListener="#some.action"
reRender="something"
onclick="if(!jQuery('#dialog').dialog('open')){return false}"
ok, this commandLink is rendered as follows:
<a href="#"
id="some:long:id:j_id338"
name="formName:something:j_id338"
onclick="if(!jQuery('#dialog').dialog('open')){return
false};A4J.AJAX.Submit('something:something');
return false;"
>drop</a>
Jetzt, nachdem das Dialogfeld angezeigt wird, das A4j.AJAX.Submit (..) ist trotzdem ausgeführt wird, ist es, dass ich zum Beispiel kann die ganze passieren A4J.AJAX.Submit (...) auf "Dialog" und führen Sie es aus "ok" Option? Ich muss einfach auszuführen einreichen, wenn und nur wenn der Benutzer auf OK klickt. Danke für die Hilfe JQ
Lösung
können Sie definieren:
<a4j:jsFunction name="okClicked"
actionListener="#{some.action}"
reRender="something" />
Und es in der OK-Funktion aufrufen, wie:
"Ok": function() {
jQuery(this).dialog("close");
okClicked();
return true;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow