Foros del Web » Programando para Internet » Javascript »

Funcion que depende de otra en "onclic"

Estas en el tema de Funcion que depende de otra en "onclic" en el foro de Javascript en Foros del Web. Hola forer@s: Tengo dos funciones de onclick aplicado a una imagen que hace de boton de "enviar" en un formulario, la primera funcion de onclick ...
  #1 (permalink)  
Antiguo 16/09/2010, 14:14
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 4 meses
Puntos: 1
Funcion que depende de otra en "onclic"

Hola forer@s:

Tengo dos funciones de onclick aplicado a una imagen que hace de boton de "enviar" en un formulario, la primera funcion de onclick es para validar dos datos obligatorios (nombre y correo electrónico), el segundo onclick es la condicion que reconoce el nombre del formulario... el problema es que cuando no se ingresan los datos obligatorios y se hace clic en el boton de enviar, el formulario se envia directamente sin ningún dato.

A continuación el codigo del formulario:

<form action="sendmail.php" name="formulario" method="post">
<p> <span class="style7">Nombre: *</span><br/>
<input name="Nombre" type="text" id="Nombre" size="34"/></p>
<p><span class="style7">Correo Electr&oacute;nico: *</span><br/>
<input name="Correo" type="text" id="Correo" size="34"/></p>
<p><span class="style7">Tel&eacute;fono:</span><br/>
<input name="Telefono" type="text" id="Telefono" size="34"/></p>
<p><span class="style7">Pedido o Comentario:</span><br/>
<textarea name="message" cols="32" rows="5"></textarea></p>
<p><a href="javascript:void(0);" onclick="MM_validateForm('Nombre','','R','Correo', '','RisEmail');return document.MM_returnValue" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image13','','imagenes/enviar_on.gif',1)"><img src="imagenes/enviar_off.gif" alt="Enviar" name="Image13" width="67" height="24" border="0" id="Image13" onclick="formulario.submit()" /></a></p>
</form>

La idea es que el formulario no se envie hasta que los datos obligatorios sean ingresados en el formulario.

Agradezco vuestr@ ayud@
  #2 (permalink)  
Antiguo 16/09/2010, 14:34
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Funcion que depende de otra en "onclic"

lo recomendable es crear una función global que se encargue de validar los datos, y asignarse al onsubmit del formulario, cuando esta función devuelve false, el formulario no se envía cuando es activado desde un input submit.

me imagino que la función MM_validateForm lo envía, debes de modificarla y adaptarla a tus necesidades, ¿creo que es generada por dreamweaver cierto?

la parte: return document.MM_returnValue no le veo sentido, ¿que se supone que devuelve?: si es true, se ejecutara lo de href, cosa que veo que no se necesita.

la idea de tu código es que al ejecutar el link, se valide y por ende se envié el form, algo así¿?

Código Javascript:
Ver original
  1. <a href="#" onclick="var f = document.forms['formularo']; if(validate_form(f){f.submit();}else{alert('incorrecto');}return false;" .. >...</a>
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 17/09/2010, 14:23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Funcion que depende de otra en "onclic"

Gracias por la respuesta, entiendo que se debería crear una función gobal el problema es que soy un novato de Javascript y mi capacidad para componer funciones es limitada.

Sí, la función MM_validateForm es generada por Dreamweaver.

Y si, la idea es que cuando se ejecute el link, se valide el nombre y el correo del usuario y se envíe el formulario.

He probado con el codigo que dejastes pero no me funciona...

<a href="#" onclick="var f = document.forms['formulario']; if(validate_form(f){f.submit();}else{alert('incorr ecto');}return false;" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image13','','imagenes/enviar_on.gif',1)"><img src="imagenes/enviar_off.gif" alt="Enviar" name="Image13" width="67" height="24" border="0" id="Image13" /></a>

¿Estoy haciendo algo mal o dejando algo olvidado?

Un saludo.
  #4 (permalink)  
Antiguo 17/09/2010, 15:40
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: Funcion que depende de otra en "onclic"

Ser novato no quiere decir que todo se debe preguntar, ya que si hubieras buscado un poco antes de preguntar en este mismo foro y no hace muchos dias pregunte lo mismo y ademas con casi el mismo titulo que tu ¬¬

http://www.forosdelweb.com/f13/funci...onclic-841783/
  #5 (permalink)  
Antiguo 17/09/2010, 15:52
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Funcion que depende de otra en "onclic"

Hola

Cita:
Iniciado por catpaw Ver Mensaje
Ser novato no quiere decir que todo se debe preguntar, ya que si hubieras buscado un poco antes de preguntar en este mismo foro y no hace muchos dias pregunte lo mismo y ademas con casi el mismo titulo que tu ¬¬

http://www.forosdelweb.com/f13/funci...onclic-841783/
@catpaw en este caso, el problema no se resuelve así. De hecho, al estar usando una función generada por DW, cualquiera sabe como se resuelve
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 17/09/2010, 15:56
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
De acuerdo Respuesta: Funcion que depende de otra en "onclic"

Cita:
@catpaw en este caso, el problema no se resuelve así. De hecho, al estar usando una función generada por DW, cualquiera sabe como se resuelve
de hecho ni lei su duda solo por que me llamo la atencion el titulo igual al mio...

No lo vuelvo a hacer...

Etiquetas: depende, funcion
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 08:48.