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
lo haz incorporado a tu fomulario.?
y en que parte lo desjastes?
A qué te referís con incorporado al formulario.?
Saludos.-
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!!!
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 !!!
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.