Foros del Web » Programando para Internet » Javascript »

onclick me borra datos del formulario

Estas en el tema de onclick me borra datos del formulario en el foro de Javascript en Foros del Web. señores del foro, tengo la siguiente funcion para validar que los campos (textbox, combobox) no sean nulos. <script language="JavaScript"> //Script verificador de formularios por Tunait! ...
  #1 (permalink)  
Antiguo 30/03/2005, 08:37
Avatar de vpino  
Fecha de Ingreso: diciembre-2004
Ubicación: colombia
Mensajes: 265
Antigüedad: 19 años, 4 meses
Puntos: 0
onclick me borra datos del formulario

señores del foro, tengo la siguiente funcion para validar que los campos (textbox, combobox) no sean nulos.

<script language="JavaScript">

//Script verificador de formularios por Tunait!
//Los campos obligados deben terminar con un *
//No verifica los checkbox ni los radio

function verificarFormu(cualo){
for(m=0;m<cualo.length;m++){
if(cualo.elements[m].id.charAt(cualo.elements[m].id.length-2) == "*"){
if(cualo.elements[m].value=="0"){
alert("Debe escoger " + cualo.elements[m].id.substring(0,cualo.elements[m].id.length-2))
cualo.elements[m].focus()
return false
break;
}
}
else{
if(cualo.elements[m].id.charAt(cualo.elements[m].id.length-1) == "*"){
if(cualo.elements[m].value==""){
alert("Debe ingresar " + cualo.elements[m].id.substring(0,cualo.elements[m].id.length-1))
cualo.elements[m].focus()
return false
break;
}
}
else{
continue;
}
}
}
}
</script>


esta funcion es invocada una vez se pulsa el boton "crear" definido en el formulario para que guarde los datos. pero sucede que si existe un campo vacio y al pulsar el boton,el sistema arroja el mensaje "Debe ingresar " ó "Debe escoger " el campo que lleva el "id", una vez pulso el boton en el mensaje enviado por javascrip, me limpia todos los demas campos que estaban diligenciados.

Que debo hacer para que no me limpie los datos que contenia el formulario antes de pulsar la tecla "crear" ?


<input type="Text" id="porcentaje*" name="porcentaje" size="6" maxlength="6">

<input type="Submit" name="btnSubmit" value="Crear" onClick="verificarFormu(this.form);">

agradecere cualquier ayuda.
  #2 (permalink)  
Antiguo 30/03/2005, 09:23
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola vpino,

la llamada a la función debe estar en el tag de form y no en el de submit

<form name="form1" method="post" action="loquesea" onsubmit="return verificarFormu(this)">

Prueba así y me cuentas
  #3 (permalink)  
Antiguo 30/03/2005, 10:18
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
El tipo del input debe ser button y no Submit, de no hacerlo asi se manda llamar automaticamente el fichero que procesa el formulario.

<input type="button" name="btnSubmit" value="Crear" onClick="verificarFormu(this.form);">

Ademas no se te olvide poner en la funcion Javascript que verifica (en caso de que todo este bien) una instruccion para mandar llamar al archivo que procesa los datos, algo asi como:

document.nombreformulario.submit();
  #4 (permalink)  
Antiguo 30/03/2005, 10:33
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Troyano, gracias por participar pero ¿has probado lo sugerido por tunait?

Lo que propones es válido pero es mucho más inteligente lo que propone tunait. Antes de criticar un trabajo ajeno intenta probarlo, vale?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 30/03/2005, 11:31
Avatar de vpino  
Fecha de Ingreso: diciembre-2004
Ubicación: colombia
Mensajes: 265
Antigüedad: 19 años, 4 meses
Puntos: 0
estaba trabajando como sugiere tunait, pero como tengo varios botones, al pusar cualquiera de ellos me obligaba a ingresar los datos del formulario, por ello lo aplique al boton (para que me obligara a entra los datos solo cuando pulso el boton crear),

si lo aconsejable es lo de tunait, perfecto me acojo él por que lo que conozco lo debo a ustedes los del foro.

mil gracias a todos por ayudarmen a conocer cada dia detalles que hacen que mejore en mi trabajo. los volvere a molestar
  #6 (permalink)  
Antiguo 30/03/2005, 11:41
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
claro que he probado lo que dijo tunait, pero como lo que pregunto vpino era de otra forma me limite a responder como el queria usarlo, y perdoname no critique en ningun momento, puedes revisar linea por linea y no ¡¡¡puse una sola critica!!! :-p , creo que el que debe aprender a respetar la opinion de otros eres tu, yo me limite a dar una simple participacion.

Última edición por Troyano; 30/03/2005 a las 11:43
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:57.