Foros del Web » Programando para Internet » Javascript »

Problema con boton enviar

Estas en el tema de Problema con boton enviar en el foro de Javascript en Foros del Web. Hola gente del foro, no se bien si esto va acá o en javascript, ya que tiene que ver con los 2. Mi problema es ...
  #1 (permalink)  
Antiguo 10/07/2014, 17:59
Avatar de ferwall  
Fecha de Ingreso: abril-2010
Mensajes: 57
Antigüedad: 14 años
Puntos: 3
Problema con boton enviar

Hola gente del foro, no se bien si esto va acá o en javascript, ya que tiene que ver con los 2.

Mi problema es el siguiente, use un script, para ver un mensaje oculto de error al apretar el botón enviar de un formulario, el problema es que dejo de funcionar el form, osea no me envía el correo, aunque tenga todos los datos completos. osea lo unico que hace es mostrar y dejar d mostrar el mensaje de error.

Antes lo tenia configurado bien, me llegaba al correo. y si no completaba algún campo me iba a otra pagina que decía error.
Código HTML:
<script>
function mostrar(enla) {
  obj = document.getElementById('oculto');
  obj.style.visibility = (obj.style.visibility == 'hidden') ? 'visible' : 'hidden';
  enla.innerHTML = (enla.innerHTML == '<input type="submit" name="Submit32" value="Enviar" class="moreButton"/>') ? '<input type="submit" name="Submit32" value="Enviar" class="moreButton"/>' : '<input type="submit" name="Submit32" value="Enviar" class="moreButton"/>';
}
</script> 
Código HTML:
<div class="moreButton">
                        </br></br>
                        <a href="#" onclick="mostrar(this); return false" /><input type="submit" name="Submit32" value="Enviar" class="moreButton"/></a>
						<div id="oculto" style="visibility:hidden">
						Por favor revise el formulario y complete todos los datos</div>
                        </div></div> 
Código PHP:
<?php
//Recepcion de datos
$nombre=$_POST['nombre'];
$nombreempresa=$_POST['nombreempresa'];
$telefono=$_POST['telefono'];
$direcion=$_POST['direcion'];
$celular=$_POST['celular'];
$cp=$_POST['cp'];
$correo=$_POST['correo'];
$asunto=$_POST['asunto'];
$comentarios=$_POST['comentarios'];
$casilla=$_POST['casilla'];

if (
$nombre == "" or $nombreempresa == "" or $telefono == "" or $direcion == "" or $correo == "" or $celular== "")

header("Location: completetodo.html");

else {


//Fin de recepcion de datos

//Accion de envio
//-------------------//
$para='[email protected]';
$mensaje='datos del formulario de contacto pagina
Nombre: '
.$nombre.'
Nombre de empresa: '
.$nombreempresa.'
Telefono: '
.$telefono.'
Direccion: '
.$direcion.'
Codigo Postal: '
.$cp.'
E-mail: '
.$correo.'
Asunto: '
.$asunto.'
Comentarios: '
.$comentarios;
$desde='From: decos <[email protected]>';
mail($para,$asunto,$mensaje,$desde);
$loc $_SERVER['HTTP_REFERER'];  

            
header("Location: $loc");
}            
?>
  #2 (permalink)  
Antiguo 10/07/2014, 18:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con boton enviar

Yo creo que el tema es de HTML, porque no me parece correcto que el contenido de un enlace sea un input y explico:

- Si se hace click en el botón, supongo que se procesará el evento onclick del enlace
- Se hace la verificación para mostrar/ocultar el mensaje de error
- El return false; obliga a que se cancele la operación, ahí se detiene el script y, por tanto, no importa cuantos clicks hagas, nunca llegará a hacer el submit

Supongo que sobra el enlace y deberías dejar exclusivamente el input, asignando ahí el onclick="if(!mostrar()) { return false; }"

En la función mostrar:

- Si hay errores muestras el div oculto y devuelves falso, con lo que no se procesará el formulario
- Si no hay errores ocultas el div y devuelves verdadero

Al final, se soluciona eliminando el enlace y modificando el Javascript... por tanto, muevo tu tema para allá y espero que confirmen lo que dije o sugieran algo mejor.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 10/07/2014, 18:59
Avatar de ferwall  
Fecha de Ingreso: abril-2010
Mensajes: 57
Antigüedad: 14 años
Puntos: 3
Respuesta: Problema con boton enviar

Gracias por responder, ya borre el enlace y si estaba de mas, en cuanto a lo otro no me acuerdo casi nada de javascript, ya voy a agarrar el manual de javascript a ver si puedo aplicar eso que decís en la función mostrar, la función mostrar no la hice yo.

Estuve varios años con otras cosas y recién ahora he podido retomar, de a poco voy recordando.

Gracias
  #4 (permalink)  
Antiguo 14/07/2014, 22:12
Avatar de ferwall  
Fecha de Ingreso: abril-2010
Mensajes: 57
Antigüedad: 14 años
Puntos: 3
Respuesta: Problema con boton enviar

No lo pude solucionar con javascript, lo hice desde el php, antes me funcionaba bien, pero ahora no se porque no me funciona, bueno la explicacion esta en el otro post, lo dejo por si alguien quiere pasar.

http://www.forosdelweb.com/f18/probl...-form-1104274/
  #5 (permalink)  
Antiguo 15/07/2014, 01:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con boton enviar

Hola:

Procura no reflotar los temas, sobre todo sin aportar datos ... y el código que muestras no lo veo muy claro, así que te propongo que pongas el código que tienes y que nos expliques mejor el problema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: boton, formulario, html, 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 12:00.