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

jquery en formulario

Estas en el tema de jquery en formulario en el foro de Zend en Foros del Web. Hola. Quiero insertar un calendario en mi form para seleccionar la fecha de nacimiento en el y no sé muy bien cómo hacerlo. mi formulario ...
  #1 (permalink)  
Antiguo 24/04/2013, 09:06
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 10 años, 11 meses
Puntos: 0
jquery en formulario

Hola. Quiero insertar un calendario en mi form para seleccionar la fecha de nacimiento en el y no sé muy bien cómo hacerlo.

mi formulario es
Código:
class Application_Form_Altausuarioform extends Zend_Form
y en él estoy usando un Zend_Form_Element_Text para recoger la fecha, sin embargo quiero hacer ahora un calendario.

He probado con este código pero me da error.
Código:
$fech = new ZendX_JQuery_Form_Element_DatePicker('fechanac');
            $fech->setLabel('Fecha de Nacimiento:')->setLabel('Fecha de Nacimiento:')->setJQueryParam('dateFormat', 'yy-mm-dd')->setJQueryParam('changeYear', 'true')->setJqueryParam('changeMonth', 'true')->setJqueryParam('regional', 'es')->setJqueryParam('yearRange', "1905:2013")->setRequired(true);
            $this->addElements(array($fech));
Em mi layout tengo
Código:
<script type="text/javascript" src="<?php echo $this->baseUrl(); ?>/javascript/jquery/jquery-1.9.1.min.js"></script>
    </head>
  #2 (permalink)  
Antiguo 24/04/2013, 09:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: jquery en formulario

La pregunta es ¿que error te da?
  #3 (permalink)  
Antiguo 24/04/2013, 09:45
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: jquery en formulario

Me aparece esto:
Error del servidor
El sitio web ha detectado un error al recuperar la http://localhost/asociacion/public/login/altausuario http://localhost/asociacion/public/login/altausuario. Es posible que esta esté inactiva debido a tareas de mantenimiento o que se haya configurado de forma incorrecta.
  #4 (permalink)  
Antiguo 24/04/2013, 09:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: jquery en formulario

¿Tienes activado el reporte de errores? ¿Tienes puesto el ambiente de tu aplicación como DEVELOPMENT?
  #5 (permalink)  
Antiguo 24/04/2013, 17:51
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: jquery en formulario

No lo tenía puesto...
Lo errores que me salen son:

Warning: include_once(ZendX\JQuery\Form\Element\DatePicker. php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\xampp\php\PEAR\Zend\Loader.php on line 146

Warning: include_once() [function.include]: Failed opening 'ZendX\JQuery\Form\Element\DatePicker.php' for inclusion (include_path='C:\xampp\xampp\htdocs\asociacion\ap plication/../library;C:\xampp\xampp\htdocs\asociacion\library;. ;\xampp\xampp\php\PEAR') in C:\xampp\xampp\php\PEAR\Zend\Loader.php on line 146

Fatal error: Class 'ZendX_JQuery_Form_Element_DatePicker' not found in C:\xampp\xampp\htdocs\asociacion\application\forms \Altausuarioform.php on line 126
  #6 (permalink)  
Antiguo 24/04/2013, 19:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: jquery en formulario

¿Agregaste la clase ZendX a tu autoloader?
  #7 (permalink)  
Antiguo 25/04/2013, 03:31
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: jquery en formulario

¿Cómo lo hago? Copie la carpeta ZendFramework-1.11.10\extras\library\ZendX en la carpeta library de mi proyecto y en Bootstrap.php he agregado:

Código:
protected function _initViewHelpers()
{
	$view = new Zend_View();
	$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();

	$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
	$viewRenderer->setView($view);
	Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
}

Ahora ya no me sale error, pero sigue haciendo lo mismo que antes. Yo lo que quiero hacer es algo como esto: http://jqueryui.com/datepicker/
  #8 (permalink)  
Antiguo 25/04/2013, 10:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: jquery en formulario

En tu application.ini, agrega autoloaderNamespaces[] = "ZendX_" para registrar el ZendX, luego lo correcto es hacer esto en tu bootstrap:
Código PHP:
Ver original
  1. $this->bootstrap('view');
  2.         $View = $this->getResource('view');
  3.         $View->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
  4.  
  5.         $View->jQuery()->setLocalPath('/js/jquery.js')
  6.                        ->setUiLocalPath('/js/jquery-ui.js')
  7.                        ->addStylesheet('/css/theme/jquery-ui.custom.css');

Con eso ya te debería de servir, solo asegurate de en lugar de extender de Zend_Form lo hagas de ZendX_JQuery_Form.

Saludos.
  #9 (permalink)  
Antiguo 25/04/2013, 10:48
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: jquery en formulario

Lo he solucionado.

He puesto en Bootstrap:

Código:
protected function _initViewHelpers()
{
    $this->bootstrap('view');
    $view = $this->getResource('view');
    $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
      
}
En application.ini


Código:
pluginPaths.ZendX_Application_Resource = "ZendX/Application/Resource"
resources.jquery.version = 1.9.1
resources.jquery.ui_enable = true
resources.jquery.ui_version = 1.8.4
resources.jquery.stylesheet = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/smoothness/jquery-ui.css"
y en mi layout:

Código:
<script type="text/javascript" src="<?php echo $this->baseUrl(); ?>/javascript/jquery/jquery-1.9.1.min.js"></script>
        <?php
    //para jquery
    echo $this->jQuery()->enable()->setLocalPath($this->baseUrl() . '/js/jquery.js')

    ?>

        <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ui-lightness/jquery-ui.css" type="text/css" media="screen" />

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
No sé si me hará falta todo, pero de esta manera ya me funciona...
  #10 (permalink)  
Antiguo 25/04/2013, 10:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: jquery en formulario

Pues de hecho lo que tienes en tu layout ya es redundante, con que pongas en tu layout <?php echo $this->jQuery(); ?> es más que suficiente, no necesitas todo eso.

Ya al poner en el application.ini, ahí puedes poner las rutas locales hacía el jquery, porque como lo tienes, estas haciendo una mezcla medio extraña, incluyes jquery 1.9, luego otra versión, y luego la versión 1.5, y eso esta mal.

Saludos.
  #11 (permalink)  
Antiguo 25/04/2013, 11:01
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: jquery en formulario

Vale, muchas gracias. Soy nueva en esto de zend y me cuesta bastante.

Etiquetas: formulario, jquery
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 11:24.