Foros del Web » Programando para Internet » PHP » Zend »

Zend Form duda sobre button

Estas en el tema de Zend Form duda sobre button en el foro de Zend en Foros del Web. Hola, A ver si alguien me puede orientar un poco... Tengo un form, con radiobuttons, campos de texto.. y un submit. Es un filtro, se ...
  #1 (permalink)  
Antiguo 05/10/2010, 02:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 34
Antigüedad: 13 años, 8 meses
Puntos: 0
Zend Form duda sobre button

Hola,
A ver si alguien me puede orientar un poco...
Tengo un form, con radiobuttons, campos de texto.. y un submit. Es un filtro, se muestran los resultados consultados en BD mediante los parámetros introducidos por el usuario. Esto funciona bién.
Tengo un button (que no es el de submit) que debe generar un documento .pdf con los resultados que se ven en pantalla. He mirado por la web, i he encontrado la libreria jsPdf, pero dicen que és beta, así que lo haré en Zend_pdf.
La duda és, al pulsar el boton, se ejecuta el action 'index', pero so consigo saber si se ha pulsado el boton en cuestión. ademas no quiero que recargue la pagina, porque quiero conservar los datos en los campos introducidos por el usuario.
Lo que tengo es:
En el form, el boton. 'index' es el Action que trabaja con el formulario. (he provado de renviar a otro action, pero me pide crear una vista y no quiero ninguna vista, solo crear el pdf)
Código PHP:
$this->addElement'button',
        
'exportarLlistat',
         array(
              
'required' => false
              
'label' => 'Exportar Llistat',
              
'onclick' => 'javascript:location.href= "./index/"'
               
)
         ); 
En el action 'index' del controlador he provado con:
Código PHP:
Zend_Debug::Dump($this->view->form->exportarLlistat->isChecked()); 
para saber si se pulsa el boton, pero siempre retorna false.
No se si queda muy claro lo que quiero hacer, se aceptan todo tipo de sugerencias, gracias de antemano.
  #2 (permalink)  
Antiguo 05/10/2010, 08:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Zend Form duda sobre button

El problema es que en tu botón haces un location.href vía javascript, con eso no se van a envíar los datos del formulario, tienes que forzosamente hacer un submit, o codificar todas las opciones del formulario usando JS y enviarlas en el location.href.

Saludos.
  #3 (permalink)  
Antiguo 06/10/2010, 10:53
 
Fecha de Ingreso: septiembre-2010
Mensajes: 34
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Zend Form duda sobre button

Vale, ya entiendo...
Entonces, en el formulario ya existe un submit, que corresponde a la opcion de consultar datos a la BD con los criterios de busqueda que pone el usuario. Puedo añadir otro submit en el mismo formulario que envie de nuevo los datos? como distingo entonces entre los dos submits? en cualquier caso, supongo que se llama automaticamente al Action de la vista que contiene el formulario, no? y es apropiado montar el pdf en el Action, o deberia hacerse en el modelo?
Y, ya que estamos, quizas seria menos complicado hacerlo desde la propia vista con javascript?
Disculpa mi poco conocimiento, recien empiezo y ahún voy pez.. gracias!
  #4 (permalink)  
Antiguo 06/10/2010, 13:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Zend Form duda sobre button

Si puedes montar un PDF en el action, lo que puedes hacer es poner un boton directo en tu form y con javascript cambiar el action de tu fomulario a tu action donde exportas el PDF para enviar las variables.

Saludos.
  #5 (permalink)  
Antiguo 07/10/2010, 04:43
 
Fecha de Ingreso: septiembre-2010
Mensajes: 34
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Zend Form duda sobre button

No se si acabo de entender bien lo que propones.. Seria poner un boton 'Exportar' en la vista, que haga submit ( aunque ya tengo otro submit, el de consultar) i con javascript redireccionarlo a otro action donde generar el pdf. Es eso? La duda es como cambio el action? con href?
Mientras se me ocurrió otra opcion, parecida. En el mismo form tengo 2 submits, el de consulta i el de exportar, una vez en el indexAction, distingo cual se pulsó.
En la vista, al pulsar el de exportar, antes de volver al controlador, con javascript cojo los id's de los elementos a exportar i los meto en un parametro hidden del form. En el Action monto el pdf.
saludos!
  #6 (permalink)  
Antiguo 07/10/2010, 09:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Zend Form duda sobre button

Como te comento tienes que cambiar el action de tu form usando Javascript, en el foro de Javascript puedes preguntar aunque es algo muy sencillo como esto:
Código Javascript:
Ver original
  1. function changeTarget()
  2. {
  3.        var form = document.getElementById('the_form_id');
  4.        form.target = '/newlocation/';
  5. }

Saludos.
  #7 (permalink)  
Antiguo 07/10/2010, 10:58
 
Fecha de Ingreso: septiembre-2010
Mensajes: 34
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Zend Form duda sobre button

Al final lo he hecho como te decia en el post anterior y funciona, ahun que creo que queda un poco liado.. , probaré tu propuesta, mil gracias!
saludos

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:13.