Comment puis-je détecter les soumettre bouton a été pressé sur le Zend Framework forme?
J'ai un Zend Framework forme qui a deux boutons submit
$changes = new Zend_Form_Element_Submit('save_changes');
$changes->setLabel('Save Changes');
$delete = new Zend_Form_Element_Submit('delete');
$delete->setLabel('Delete');
Qui rend le code HTML comme tels:
<input type="submit" name="save_changes" id="user_save_changes" value="Save Changes" >
<input type="submit" name="delete" id="user_delete" value="Delete" >
Dans le contrôleur, comment puis-je déterminer quel bouton l'utilisateur a appuyé?
Vous devez vous connecter pour publier un commentaire.
Dans votre cas, vous devez simplement être en mesure de vérifier
Puisque seule la valeur de l'cliqué bouton sera soumis.
Généralement vous donner les deux boutons du même nom (par exemple, action), puis définissez le
la valeur de l'action que vous souhaitez effectuer. Malheureusement, cela ne fonctionne pas très bien
avec IE. Vérifier cette page pour plus d'informations sur les différentes solutions pour plusieurs
boutons de soumission.
if($this->params()->fromPost('save_changes',false))
ouif($this->params()->fromPost('delete',false))
Puisque vous êtes à l'aide de Zend, je recommanderais une plus Zend-ish approche.
Vous pouvez appeler directement à des éléments par leurs noms et Zend a une méthode pour les boutons de formulaire (boutons, reset, soumet) appelé
isChecked()
.dans votre code, il serait:
En fait, vous pouvez obtenir ce par:
La raison j'ai fait deux si la condition parce que vous ne pouvez pas le faire si d'autre parce que l'un de vous charger de cette page, même si vous ne l'avez pas cliquez sur un bouton de soumission, l'autre condition sera exécuté.
Exemple:
Histoire vraie.