Foros del Web » Programando para Internet » Javascript »

Problema con Funciones JavaScript - OnClick

Estas en el tema de Problema con Funciones JavaScript - OnClick en el foro de Javascript en Foros del Web. Buenos días, después de buscar en el foro, y probar con varias opciones, y al no encontrar solución, creo este tema. Espero y me puedan ...
  #1 (permalink)  
Antiguo 15/05/2013, 09:32
Avatar de DaHaSaMo  
Fecha de Ingreso: octubre-2011
Mensajes: 9
Antigüedad: 12 años, 6 meses
Puntos: 0
Problema con Funciones JavaScript - OnClick

Buenos días, después de buscar en el foro, y probar con varias opciones, y al no encontrar solución, creo este tema.

Espero y me puedan ayudar, Muchas Gracias.

Necesito que al hacer clic en el botón submit de un form, se realicen los procesos de 2 funciones, la primera validar() y la segunda confirmar()

* La de validar() verifica que los campos del form estén debidamente diligenciados
* La de confirmar() pide confirmación para enviar o no los datos del form
* Además de eso, algunos campos tienen la restriccion required

De manera general, se tendria:


<script language="JavaScript" type="text/javascript">
function validar()
{
if (form.hora.value == 0)
{
alert ('Elija otra hora');
form.hora.focus(); return false;
}

if (form.sala.value == 1)
{
alert ('Elija otra Sala');
form.sala.focus(); return false;
}
...
</script>


<script language="JavaScript" type="text/javascript">
function confirmar() onclick
{
if (confirm('¿Continuar? No se podran modificar los datos'))
{
document.form.submit()
}
}
</script>


<form name="form" onsubmit="confirmar()" class="form" method="post" action="..." enctype="multipart/form-data">

...
...
...

<input type="reset" value="Limpiar" class="button">

<input type="submit" value="Guardar" class="button" onclick="validar(); confirmar()">

</form>


Al dar clic en guardar ( submit ), me sale la alerta de que no he llenado campo de hora, pero el focus se pone es el dato de required, lleno el required, y doy guardar, me pide otra vez que llene la hora, doy aceptar y envia el form, sin dejarme llenar los campos que debe validar, y sin pedirme la confirmacion.

Cambie el submit por:

<input type="button" onclick="validar();confirmar()" value="Guardar" class="button">

y me hace las validaciones de validar() , pero los required no los pide, y tampoco muestra confirmar()

Cual es o son los errores, Muchas gracias si me pueden ayudar.
  #2 (permalink)  
Antiguo 15/05/2013, 11:16
 
Fecha de Ingreso: diciembre-2011
Mensajes: 98
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Problema con Funciones JavaScript - OnClick

Para tu primer problema basta solo con quitar un onclick que hay por ahí:

<script language="JavaScript" type="text/javascript">
function confirmar() onclick
{
if (confirm('¿Continuar? No se podran modificar los datos'))
{
document.form.submit()
}
}


Para el segundo va a ser más difícil ya que no todos los navegadores se toman el atributo "required" igual, asi que en algunos casos no te lo validará, te sugiero que hagas la confirmación en el mismo JS que es lo que irá seguro.

Última edición por nilburcion; 15/05/2013 a las 11:33
  #3 (permalink)  
Antiguo 15/05/2013, 17:14
Avatar de DaHaSaMo  
Fecha de Ingreso: octubre-2011
Mensajes: 9
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con Funciones JavaScript - OnClick

Hola, hice unos cambios, quité el "onclick", quité los required, y los meti en validar() , agregue parentesis entre las funciones, cambie el submit, y ahora hace todas las validaciones, pero envia los datos sin solicitarme confirmacion:

<script language="JavaScript" type="text/javascript">
function validar()
{
if (form.hora.value == 0)
{
alert ('Elija otra hora');
form.hora.focus(); return false;
}

if (form.sala.value == 1)
{
alert ('Elija otra Sala');
form.sala.focus(); return false;
}
...
</script>


<script language="JavaScript" type="text/javascript">
function confirmar()
{
if (confirm('¿Continuar? No se podran modificar los datos'))
{
document.form.submit()
}
}
</script>


<form name="form" onsubmit="return ( validar() && confirmar() )" class="form" method="post" action="..." enctype="multipart/form-data">

...
...
...

<input type="reset" value="Limpiar" class="button">

<input type="submit" value="Guardar" class="button">

</form>
  #4 (permalink)  
Antiguo 15/05/2013, 17:17
Avatar de DaHaSaMo  
Fecha de Ingreso: octubre-2011
Mensajes: 9
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con Funciones JavaScript - OnClick

Hola, hice unos cambios, quité el "onclick", quité los required, y los meti en validar() , agregue parentesis entre las funciones, cambie el submit, y ahora hace todas las validaciones, pero envia los datos sin solicitarme confirmacion:

<script language="JavaScript" type="text/javascript">
function validar()
{
if (form.hora.value == 0)
{
alert ('Elija otra hora');
form.hora.focus(); return false;
}

if (form.sala.value == 1)
{
alert ('Elija otra Sala');
form.sala.focus(); return false;
}
...
</script>


<script language="JavaScript" type="text/javascript">
function confirmar()
{
if (confirm('¿Continuar? No se podran modificar los datos'))
{
document.form.submit()
}
}
</script>


<form name="form" onsubmit="return ( validar() && confirmar() )" class="form" method="post" action="..." enctype="multipart/form-data">

...
...
...

<input type="reset" value="Limpiar" class="button">

<input type="submit" value="Guardar" class="button">

</form>

Etiquetas: funciones, js, onclick, php
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.