Fonctionnalités de la classe Response
- Version 4.x
- Version 3.x
- Version 2.x
Les fonctions Jaxon retournent un objet de la classe Jaxon\Response\Response
, qui contient une liste de commandes à exécuter dans le navigateur.
Ces commandes peuvent réaliser 3 types d'opérations dans une page web.
- Modifier le contenu de la page
- Modifier la présentation de la page avec CSS
- Exécuter du code javascript dans la page
Modifier le contenu et le style de la page
Les fonctions suivantes servent à modifier le contenu ou le style d'une page web.
// Affecter la valeur spécifiée à un attribut d'un élément donné
assign(string $sTarget, string $sAttribute, string $sData)
// Ajouter la valeur spécifiée à la fin d'un attribut d'un élément donné
append(string $sTarget, string $sAttribute, string $sData)
// Ajouter la valeur spécifiée au début d'un attribut d'un élément donné
prepend(string $sTarget, string $sAttribute, string $sData)
// Remplace la valeur spécifiée par une autre dans un attribut d'un élément donné
replace(string $sTarget, string $sAttribute, string $sSearch, string $sData)
// Effacer la valeur d'un attribut d'un élément donné
clear(string $sTarget, string $sAttribute)
Pour modifier le contenu, le paramètre $sAttribute
prend la valeur innerHTML
ou outerHTML
.
Par exemple, le code suivant affecte un texte au bloc HTML avec l'id message-id
.
$response->assign('message-id', 'innerHTML', 'Jaxon is cool');
Pour modifier le style, le paramètre $sAttribute
prend la valeur style.
suivi de l'attribut CSS à modifier.
Par exemple, le code suivant définit la couleur du texte du bloc HTML avec l'id message-id
.
$response->assign('message-id', 'style.color', 'blue');
Les fonctions suivantes ajoutent ou suppriment un bloc de contenu dans une page web.
// Créer un nouvel élément dans le document
create(string $sParent, string $sTag, string $sId)
// Insérer un nouvel élément avant l'élément spécifié
insert(string $sBefore, string $sTag, string $sId)
// Insérer un nouvel élément après l'élément spécifié
insertAfter(string $sAfter, string $sTag, string $sId)
// Supprimer l'élément spécifié du document
remove(string $sTarget)
Exécuter du code javascript dans la page
Ces fonctions permettent soit d'exécuter directement du code javascript, soit de le lier à un évènement sur la page.
// Afficher un message d'alerte
alert(string $sMessage)
// Exécuter le code javascript spécifié
script(string $sJsCode)
// Appeler la fonction javascript spécifiée avec les paramètres (optionnels) donnés
call(string $sFunction)
// Définir un gestionnaire d'évènement sur l'élément spécifié
setEvent(string $sTarget, string $sEvent, string $sScript)
// Définir un gestionnaire pour l'évènement "onclick" sur l'élément spécifié
onClick(string $sTarget, string $sScript)
// Installer un gestionnaire d'évènement sur l'élément spécifié
addHandler(string $sTarget, string $sEvent, string $sHandler)
// Supprimer un gestionnaire d'évènement sur l'élément spécifié
removeHandler(string $sTarget, string $sEvent, string $sHandler)
Par exemple, le code suivant exécute une fonction Jaxon lorsque l'utilisateur clique sur le bouton.
$response->onClick('btn-set-color', rq('MyClass')->call('myMethod', pm()->select('colorselect')));
Bien que la classe Jaxon\Response\Response
implémente un riche ensemble de fonctions, il est possible de lui en ajouter à l'aide de plugins.