Fork me on GitHub

Modifier le contenu des pages web avec PHP


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

La liste complète des fonctions de la classe Jaxon\Response\Response est documentée ici.

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()->call('MyClass.myMethod', rq()->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.