L'accès à des éléments html les données et les envoyer au contrôleur en PHP
-
13-11-2019 - |
Question
Je suis un super débutant en php, et je suis en utilisant un MVC framework php appelé Yii.Je n'arrive pas à trouver des articles qui expliquent comment faire pour obtenir les valeurs des éléments html avec PHP.Partout où je regarde, il est tout au sujet de la façon d'obtenir les valeurs des champs de formulaire après un POSTER dans une autre vue.Est-il de toute façon à obtenir des valeurs de champ et de les envoyer à un contrôleur en PHP et juste de revenir à l'affichage d'origine.
Dans .Net MVC, je viens d'utiliser jquery pour obtenir des champs de formulaire et faire un appel ajax.Ce n'est pas des données sensibles, donc je ne suis pas inquiet au sujet de la sécurité.J'aime ajax parce que je ne fais pas les publications de la page de retour, je viens d'envoyer mes données sur et de rester sur la même page, j'ai été sur.
Est-il possible de faire MVC, AJAX genre de chose avec PHP?Lire html de l'élément de valeurs et de les envoyer à un contrôleur pour la manipulation de données?
La solution
Il fonctionne de la même manière.Yii est livré avec jquery, vous
suffit d'utiliser jquery pour obtenir des champs de formulaire et faire un appel ajax
pour certains contrôleur de fonction, faire ce que vous voulez avec elle, et de renvoyer une réponse, avec php echo
.
Si vous connaissez déjà certains jquery, puis le côté client ne devrait pas être très différent .net mvc.
Edit:
Pour ajouter un <script>
pour le code html généré voir registerScript.
Pour créer des url utiliser l' createUrl fonction.
Pour ajouter ajax options pour les balises html, le code ressemble à:
echo CHtml::checkBox('mybox',false,
array(// array for htmloptions, we also pass ajax options in here
'class'=>'checkBoxes_class',
'ajax'=>array(// this is ajax options for jquery's ajax
'type'=>'POST',
'url'=>Yii::app->createUrl('xyz',array('clickedboxid'=>'mybox')), // here you passed clickedboxid as a get variable
'beforeSend'=>'function(){}',
'success'=>'',
// etc etc
)
)
);
Chaque balise html générateur de fonction d'assistance prend htmlOptions tableau, où l'on peut passer ajax options.
Pendant la lecture de ces valeurs dans le contrôleur:
public function actionSomeAction($id){
// $id is mybox
echo "Hello"; // this is returned as response to the client
}
J'espère que cela est assez pour vous obtenir a commencé.