Duda para validar campos de una vista con javascript

edited noviembre 2008 in Dudas/Problemas
Tengo una vista que carga un par de parámetros para la generación de un reporte , y quiero validar los datos con javascript , de la forma que se hace con los standardforms ...

Mi vista es "vacasaparir.phtml"

<?= form_tag("reportes/vacasaparir_reporte","name: frmrep","onsubmit: return confirm(\"¿Confirma la generación del reporte?\")") ?>
<table >
...
...

<?= submit_tag('Enviar',"onclick: return validar_datos();") ?>
<?= link_to('reportes', 'Volver') ?>

...
...
</table>
<?= end_form_tag() ?>


Luego , en la carpeta Javascript , tengo el archivo "vacasaparir.js" con el siguiente código :

// JavaScript Document
function validar_datos(){
var F = document.frmrep;
if (F.sel_unidadesproductivas_id.value)=="NULL") {
alert("No se puede generar el reporte sin seleccionar una unidad productiva...");
return false;
}
if (F.fechahasta.value)=="NULL") {
alert("No se puede generar el reporte sin seleccionar una fecha...");
return false;
}
}

Pero cuando le doy confirmar al bóton del formulario , NO me hace ninguna validación .... probé poner un "alert" al inicio de la función para ver si entra en la misma , pero NO lo hace ...

Alguien sabe que estoy haciendo MAL ?

Gracias.-

Comentarios

  • edited 3:08
    ese archivo vacasaparir.js

    lo haz incorporado a tu fomulario.?

    y en que parte lo desjastes?
  • edited 3:08
    El archivo "vacasaparir.js" está en la carpeta javascript , junto con el resto de los javascript que validan los standardforms.

    A qué te referís con incorporado al formulario.?

    Saludos.-
  • edited 3:08
    ok.
    ahi esta el problema

    si miras tu html de la pagina que generas, no aparece tu javascript en ni una parte.
    para esto tienes 2 opciones


    1 agregar la js a todo el proyecto.

    editas el archivo default/view/index.php y escribe esto

    <?php echo javascript_include_tag("vacasaparir"); ?>

    2 si la vas agregar solo a tu vista coloca ese mismo codigo en tu vista.


    suerte!!!
  • edited 3:08
    Efectivamente , me faltaba agregar en el archivo ( vista ) "vacasaparir.phtml"

    la línea :

    <?php echo javascript_include_tag("vacasaparir") ?>

    Ahora si me entra en la función de validación que está en el archivo
    "javascript\vacasaparir.js"

    Lo único que tuve que modificar la función original en javascript para que no me de errores de la siguiente manera :

    // JavaScript Document
    function validar_datos(){
    F = document.frmrep;
    unidadid = F.sel_unidadesproductivas_id.value;
    F = document.frmrep;
    fechahasta = F.fechahasta.value;
    if (unidadid=="0") {
    alert("No se puede generar el reporte sin seleccionar una unidad productiva...");
    return false;
    }
    if (fechahasta=="") {
    alert("No se puede generar el reporte sin seleccionar una fecha...");
    return false;
    }
    }

    Gracias Por la ayuda !!!
  • edited 3:08
    una acotacion

    evita de usar esta forma de mostrar tus variable

    <?= $valor ?> , te recomiendo que empizes a utilzar la tradicional.
    <?php echo $valor ?>.

    suerte!!

    PD: Lo menciono por q no en todos los servidores se encuentra activada esta etiqueta.
  • Es muy cierta esta acotación!!!
Sign In or Register to comment.