Hola, estoy intentado añadir setAction a un form para que cuando pulse el botón submit me dirija a esa ruta pero no hace nada.
En la vista tengo:
Código PHP:
<?php echo $this->form;
$this->form->setAction($this->url(array('controller'=>'cliente','action'=>'reservaclase'),null,true));
echo $this->fecha;
?>
<script type="text/javascript">
$(function(){
$('#select1').change(function(){
var ajax = $.ajax({
type: "GET",
url: "/asociacion/public/cliente/ajax1/id/" + $(this).val(),
async: true,
dataType: "json",
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
},
success: function(data){
var options = '';
for (var i = 0; i < data.length; i++) {
options += '<option value="' + data[i].idactividad + '">' + data[i].nombre + '</option>';
}
$('#select2').html(options);
}
});
});
})();
</script>
En mi controlador tengo:
Código PHP:
public function reservaractividadAction()
{
$form = new Application_Form_Reservaactividad();
$this->view->form = $form;
}
Y mi formulario es:
Código PHP:
class Application_Form_Reservaactividad extends Zend_Form
{
public function init()
{
$tipoactividad = new Zend_Form_Element_Select('tipoactividad');
$tipoactividad->setLabel('Tipo de Actividad: ');
$tipoactividad->setAttrib('id', 'select1');
//$tipoactividad->setRegisterInArrayValidator(false);
$empresaactividad = new Application_Model_DbTable_Empresaactividad();
$rowset = $empresaactividad->listaractividades();
$tipoactividad->addMultiOption('*','Seleccione Tipo de Actividad');
foreach($rowset as $row){
$tipoactividad->addMultiOption($row['idtipoempresaactividad'], $row['tipo']);
}
$this->addElements(array($tipoactividad));
$primerelemento = array_shift ($rowset);
$actividad = new Zend_form_element_select('actividad');
$actividad->setLabel('Actividad: ');
$actividad->setAttrib('id', 'select2');
//Para que no me dé el error al cargar el select con ajax (no lo reconoce si pongo esto Explicación en:http://www.forosdelweb.com/f182/selects-dependientes-posterior-envio-formulario-922048/)
$actividad->setRegisterInArrayValidator (false);
$modeloactividad = new Application_Model_DbTable_Actividad();
//$actividad->addMultiOption('0','Seleccione Actividad');
$actividad->setRequired(true)->addValidator('NotEmpty');
$rowset = $modeloactividad->listaractividades($primerelemento['tipoempresaactividad']);
/*foreach($rowset as $row){
$actividad->addMultiOption($row['idactividad'], $row['nombre']);
}*/
$this->addElements(array($actividad));
$this->addElement('select','numpersonas',
array(
'label' => 'Numero de Personas',
'value' => 'numpersonas',
'required' => true,
'multiOptions' => array(
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
'6' => '6',
),));
$this->addElement(
'submit', 'Consultar Fechas Disponibles', array()
);
}
}
Al pulsar el boton submit no va al action que le indico en setAction. ¿Puede influir los selects dependientes que tengo?