Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/10/2009, 08:46
tucuguara
 
Fecha de Ingreso: septiembre-2009
Mensajes: 27
Antigüedad: 14 años, 7 meses
Puntos: 0
Problema con button

Hola que tal!

Estoy haciendo un formulario de extension Zend_Form y tengo dos botones uno es un submit y el otro es un button. El submit haca la accion $this->setAction('./ejemplo/buscar'); del form que es un buscar. (Esta accion es del controlador ejemplo)

Pero el button que es un enviar a otro formulario tiene lo siquiente: (Esta accion es del controlador ejemplo2)
'onClick' => 'javascript:location.href= "./ejemplo2/otra"',

y monta en el url la accion (./ejemplo2/otra) como debe ser pero no hace nada monta el formulario que esta por el else que es el que se monta cuando el formulario noes valido, es como que si el form no trajeta nada de la pantalla anterior.

la accion es la siguiente:
public function otraAction()
{

$request = $this->getRequest();
$form = new Default_Form_Ejemplo();
if ($this->getRequest()->isPost()) {
if ($form->isValid($request->getPost())) {
$radejemplo = $form->getValue('radejemplo');
$correo = $form->getValue('email');
$direccion = $form->getValue('direccion');
$fecha = $form->getValue('fecha');
$cheejemplo = $form->getElement('cheejemplo')->isChecked(); //valor =1 esta chequeado
$validator = new Zend_Validate_NotEmpty();

if ((!$radejemplo=='natural')OR(!$cheejemplo==1)OR(!$ validator->isValid($correo))OR(!$validator->isValid($direccion))OR(!$validator->isValid($fecha)))
{
echo('Verifique uno de los Campos esta en Blanco.');
$this->_redirect('/ejemplo');
}else
{
$var = $_POST['radejemplo'];
if ($var == 'natural'){
$this->view->form = $form;
$arreValores = $form->getValues();
$form = new Default_Form_Ejemplo2();
$form->removeElement('rif');
$form->setDefaults($arreValores);
$this->view->form = $form;
}else{
$this->view->form = $form;
$arreValores = $form->getValues();
$form = new Default_Form_Ejemplo2();
$form->removeElement('cedula');
$form->setDefaults($arreValores);
$this->view->form = $form;
}//else Nº 2
}//else Nº 1

}//if form
}// if getRecueste
$this->view->form = $form;
}//funcion

Sera porque son acciones de controladores distintos?? Pero si coloco la accion de (./ejemplo2/otra) en el form y el button como submit si hace todo bien y el otro submit como button y pues se daña hace lo mismo que lo anterior.

Y los dos no los puedo colocar como submit porque intentan hacer la misma accion. Uso la version 1.9.3