J'ai vue Zend
en PHP
avec une forme:comment définir une variable de commande en vue d'une forme post
<form action="https://example.com/checkout/" name="info" method="post">
<div id="payment">
<div id="paypal>
<?php $this->is_paypal_payment = true; ?>
</div>
<div id="credit_card>
<?php $this->is_paypal_payment = false; ?>
</div>
</div>
</form>
Lorsqu'un utilisateur clique sur le bouton Envoyer, comment puis-je définir la variable d'instance dans le controlle?
C'est ce que j'ai essayé qui n'a pas fonctionné.
Controller:
$this->view->payment_option_paypal = false; // initialized value
$payment_method_option = $this->_getParam('payment_option_paypal', null);
if (!is_null($payment_method_option)) {
if ($payment_method_option == 'paypal') {
$this->_is_paypal = true;
}
}
Vue:
<div id="paypal" style="display: none;">
<?php $this->payment_option_paypal = "paypal"; ?>
<img src="paypal.gif" style="margin-right:20px;">
</div>
Après avoir cliqué sur soumettre, la fonction the _getParam()
ne capture pas la chaîne "paypal" que la vue définie pour variable d'instance dans le contrôleur $this->payment_option_paypal
Des idées sur ce qui ne va pas et comment s'y prendre?
je ne suis pas familier avec zend-cadre mais passer les valeurs de la vue au contrôleur fonctionne généralement via les champs cachés d'entrée (dans le cas comme vous l'avez spécifié) ou avec des éléments html normaux comme checkboxes, textrea, select etc .. avez-vous essayé ' '? –
vous pouvez utiliser le _getParam pour le champ d'entrée ou pour le champ caché de sorte que vous ne recevez pas la valeur de la div dans ce mathod – Jalpesh