Dieses Beispiel zeigt anhand eines Prozesses das Zusammenspiel zwischen der JavaScript-Funktion jr_execute_dialog_function und der PHP-Dialogfunktion getUsernameFunc:
Beim onClick auf dem Button „Get Username“ wird die JavaScript-Funktion getUsername aufgerufen.
JavaScript - Funktionen:
var getUsername = function() {
jr_execute_dialog_function('getUsernameFunc', {fullname: jr_get_value('full_username')}, mySuccessCallback);
}
var mySuccessCallback = function(returnObject) {
jr_set_value('user_name', returnObject.result.username);
}
PHP – Dialogfunktion getUsernameFunc:
<?php
class className extends DialogFunctionClass
{
public function execute()
{
$fullname = $this->getParameter('fullname');
if ($fullname) {
$this->setReturnValue('username', 'Max Mustermann (mmustermann)');
} else {
$this->setReturnValue('username', 'mmustermann');
}
}
}
?>
Hinweis: In diesem Beispiel könnte die Checkbox „Full Username?“ auch folgendermaßen abgefragt werden:
$fullname = $this->getDialogValue('full_username')
Ergebnis:
Die Folge des Aufrufs der JavaScript-Funktion getUsername durch den Button ist, dass abhängig von der Checkbox, entweder nur der Benutzername oder der vollständige Name in die Textbox Username übertragen wird.