Foros del Web » Creando para Internet » HTML »

Formularios que no funcionan

Estas en el tema de Formularios que no funcionan en el foro de HTML en Foros del Web. Hola, podeis decirme por que estos formularios no funcionan, es decir no me llegan a mi correo. ver aquí Además el 2º, el de recomendar ...
  #1 (permalink)  
Antiguo 22/02/2003, 06:19
Avatar de chikatilo  
Fecha de Ingreso: noviembre-2002
Ubicación: Kiev
Mensajes: 113
Antigüedad: 21 años, 4 meses
Puntos: 0
Formularios que no funcionan

Hola, podeis decirme por que estos formularios no funcionan, es decir no me llegan a mi correo.

ver aquí

Además el 2º, el de recomendar se pueden mejorar como este?

ver aquí

Gracias
  #2 (permalink)  
Antiguo 22/02/2003, 06:38
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Re-holas,

mira, te falta anteponer mailto: a tu correo


<form action="[email protected]" method="post">

prueba con

<form action="mailto:[email protected]" method="post">
  #3 (permalink)  
Antiguo 22/02/2003, 07:01
Avatar de chikatilo  
Fecha de Ingreso: noviembre-2002
Ubicación: Kiev
Mensajes: 113
Antigüedad: 21 años, 4 meses
Puntos: 0
ok, ya lo puse, pero el 2º como pongo para que me mande el correo?

Además se puede hacer que aparezca el asunto y el mensaje?

Gracias
  #4 (permalink)  
Antiguo 22/02/2003, 07:14
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
No me había fijado que habían dos formus distintos.

Mira no te furula el segundo porque en el javascript que usas tienes dos sentencias partidas en 3 líneas.

fíjate que te lo dice el propio autor en el script:


// the following expression must be all on one line...

osea, que te asegures de que lo tienes en una sola línea. Pero aparece en 3


// the following expression must be all on one line...
var goodEmail =

field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.go v)|(\.or

g)|(\..{2,2}))$)\b/gi);

Más abajo tienes otra línea que también debe ir en una y la tienes en 3

Cita:
// the following expression must be all on one line...
window.location =

"mailto:"+document.eMailer.address.value+"?subject ="+m+"&body="+document.titl

e+" "+u;
Pues eso, borra los saltos de línea y teóricamente te habría de funcionar.

para lo del asunto y mensaje echa un ojo a la FAQ26 de HTML
  #5 (permalink)  
Antiguo 22/02/2003, 07:27
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Uf, acabo de darme cuenta de otra cosa.

Si bien ahora el primer formulario se enviará sin problemas te llegará como único value en todas las ocasiones:

enviar=enviar

¿por qué?

Porque el único campo que tiene asignado un name es el botón de envío.

Sólo obtendrás los valores de los campos que tengan name en tus formularios. Los que no tengan, no se enviará la info introducida por el usuario.
  #6 (permalink)  
Antiguo 22/02/2003, 07:52
Avatar de chikatilo  
Fecha de Ingreso: noviembre-2002
Ubicación: Kiev
Mensajes: 113
Antigüedad: 21 años, 4 meses
Puntos: 0


No te he entendido nada, pero lo he rectificado..

El 2º por lo menos no funciona nada
  #7 (permalink)  
Antiguo 22/02/2003, 07:56
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
jejeje pues sí que vamos bien.

¿Cuál es la parte que no entendiste?? (por re-explicarlo)

El segundo no furulaba por el script. Si te fijas sólo cargar la página salia el triangulito amarillo en la barra de estado advirtiendo que se esperaba ) en la expresión regular.

La expresión regular es la que controla que sean direcciones de correo válidas.

Esa comprobación mediante la exp. regular ha de estar en una sola línea para lo entienda como una sola instrucción. Javascript interpreta un salto de línea como una instrucción nueva. Por eso al estar esa línea partida en 3 (mediante saltos de línea) no la comprendía y ahí se detenía el script y no enviaba.
  #8 (permalink)  
Antiguo 22/02/2003, 10:15
Avatar de chikatilo  
Fecha de Ingreso: noviembre-2002
Ubicación: Kiev
Mensajes: 113
Antigüedad: 21 años, 4 meses
Puntos: 0
Cita:
Mensaje Original por tunait
[B]jejeje pues sí que vamos bien.

¿Cuál es la parte que no entendiste?? (por re-explicarlo)
Creo que por mucho que expliques


Voy a usar esto en los dos casos y así no me complico.



<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
</head>
<body>
<br>
<script language="javascript">
function mailpage()
{
mail_str = "mailto:[email protected]?subject=visita esta página, es muy buena!! " +

document.title;
mail_str += "&body=Hola, te recomendo que visites..." + document.title;
mail_str += "#" + location.href;
location.href = mail_str;
}
</script> <a href="javascript:mailpage()">Recomendar por e-mail esta p&aacute;gina</a>
  #9 (permalink)  
Antiguo 22/02/2003, 10:22
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
como quieras, de todas formas te cuento que me entretuve en intentar hacer funcionar el segundo formulario y no furulaba porque el script no está preparado para enviar más que a una dirección.

Si te fijas, tienes puestos varios campos idénticos con names idénticos. Eso provoca que el script se confunda y da por error que value no es un objeto.

Si dejas un solo campo funciona correctamente (lo he probado)
  #10 (permalink)  
Antiguo 22/02/2003, 12:46
Avatar de chikatilo  
Fecha de Ingreso: noviembre-2002
Ubicación: Kiev
Mensajes: 113
Antigüedad: 21 años, 4 meses
Puntos: 0
Me olvidé de decir que el original venia solo para uno, yo le añadí mas. Ya que te tomaste la molestia de corregirlo, ponlo aquí.
  #11 (permalink)  
Antiguo 22/02/2003, 12:48
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Allá va, espero que los foros no vuelvan a partir las líneas.
si lo hace de nuevo yá te colgaría el ejemplo en la red

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>


</head>
<body status="no" scroll="no">
<br>

<h3>Quiero recibir las novedades de la p&aacute;gina por e-mail<br>
</h3>

<form action="mailto:[email protected]" method="post" enctype="text/plain">
Mi correo
<input
type="text" size="20" maxlength="25"><br>
Recibir novedades via E-mail<input name="" checked
type="checkbox"><br>
<input type="submit" name="enviar" value="enviar"> </form><p><hr><p>




<br>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<form name="eMailer"> ENV&Iacute;A ESTA P&Aacute;GINA A UN AMIGO <br>
Indica su e-mail: <br>
<input type="text" name="address" size="25"> <br>
<input type="button" value="ENVIAR" onclick="mailThisUrl();"> </form>
<script language="JavaScript1.2">
// (C) 2000 www.CodeLifter.com

var good;
function checkEmailAddress(field) {
// the following expression must be all on one line...
var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.go v)|(\.org)|(\..{2,2}))$)\b/gi);
if (goodEmail){
good = true
} else {
alert('Por favor introduce un e-mail valido')
field.focus()
field.select()
good = false
}
}

u = window.location;
m = "Mira esta página, es muy interesante";
function mailThisUrl(){
good = false
checkEmailAddress(document.eMailer.address)
if (good){
// the following expression must be all on one line...
window.location = "mailto:"+document.eMailer.address.value+"?subject ="+m+"&body="+document.title+" "+u;
}
}
</script> <br>

</body>
</html>
  #12 (permalink)  
Antiguo 22/02/2003, 12:58
Avatar de chikatilo  
Fecha de Ingreso: noviembre-2002
Ubicación: Kiev
Mensajes: 113
Antigüedad: 21 años, 4 meses
Puntos: 0
  #13 (permalink)  
Antiguo 22/02/2003, 13:42
Avatar de chikatilo  
Fecha de Ingreso: noviembre-2002
Ubicación: Kiev
Mensajes: 113
Antigüedad: 21 años, 4 meses
Puntos: 0
Otra cosa ya para nota, en el enlace a la FAQ que pusiste arriba para poner el asunto y un texto, en el primer formulario, si pones una opción u otra funciona, pero si pones la opción que dice ahí para los dos sólo aparece una

Y en el 2º no tendría que aparecer la dirección del amigo en el outlook y en el texto un enlace?
  #14 (permalink)  
Antiguo 22/02/2003, 14:09
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Hola de nuevo,


Hum... claro, sucede una cosa;

el segundo formulario en realidad está enviando un email solamente sacando mediante javascript la info introducida en el formulario.
Es decir, en realidad el formulario no se envía como tal, si no que se envía como correo.

En cambio el primero sí es un envío de formulario (aunque sea a través de correo). Al usar el method post y usar un action=mailto: el cuerpo del mensaje (body) yá viene definido por los contenidos del formulario.

Yo me entiendo.

Pero quien va a recibir esos datos además eres tu ¿para qué quieres que te llegue con un body determinado? a ti te basta con que te llegue la info

Cita:
Y en el 2º no tendría que aparecer la dirección del amigo en el outlook y en el texto un enlace?
Efectivamente, y así ocurre
  #15 (permalink)  
Antiguo 22/02/2003, 14:33
Avatar de chikatilo  
Fecha de Ingreso: noviembre-2002
Ubicación: Kiev
Mensajes: 113
Antigüedad: 21 años, 4 meses
Puntos: 0
Si en el 2º ves la dirección es problema mio, uso el netscape y el panda no me deja enviar con el outlook spress, me lo configuraron para que no me dejara mandar correo. Has currado un montón.


Última edición por chikatilo; 22/02/2003 a las 14:42
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 21:50.