Foros del Web » Programando para Internet » Javascript »

Form dinámico y que además funcione en IE

Estas en el tema de Form dinámico y que además funcione en IE en el foro de Javascript en Foros del Web. Hola a tod@s! Estoy usando la libreria Prototype para enviar el siguiente formulario de manera dinámica: El .html: Código PHP: < script type = "text/javascript"  src ...
  #1 (permalink)  
Antiguo 09/07/2008, 17:53
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Pregunta Form dinámico y que además funcione en IE

Hola a tod@s!

Estoy usando la libreria Prototype para enviar el siguiente formulario de manera dinámica:
El .html:
Código PHP:
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
function protoSend(){
var params = Form.serialize($('presForm'));
new Ajax.Updater('formBox', 'form.php', {asynchronous:true, parameters:params});
}
</script>
<div id="formBox" style="clear:both;">
<form name="presForm" id="presForm" method="post" action="form.php" onsubmit="protoSend();return false;">
   <label>E-mail: <input type="text" name="email" id="email" /></label>
   <input type="submit" value="Enviar" />
</form>
</div> 
El .php:
Código PHP:
<?php
$_ENV
['REQUEST_METHOD'];

$email $_POST['email'];

if(
mail("[email protected]""asunto""mensaje",
        
"From: <$email>
        X-Mailer: PHP/" 
phpversion())
){
echo 
"Gracias por tu e-mail!";
}else{
echo 
"Se ha producido un error al enviar.";
}
?>
Lo curioso del caso es que funciona con Mozilla, pero con IE no!
Con IE se envia el mensaje, pero me aparece el "Gracias por tu e-mail" en el lugar del formulario.

Alguién sabe por qué esto es así?

PD: hay alguna manera de hacer desaparecer IE para siempre? Odio IE

Saludos y Gracias de antemano
  #2 (permalink)  
Antiguo 12/07/2008, 07:03
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Exclamación Form dinámico y que además funcione en IE

Hola a tod@s!

Hace unos días publique este post, y me he dado cuenta que me he dejado un detalle importante.
El código anterior funciona.

Cuando no funciona en IE es cuando el mismo formulario lo creo dinámicamente con DOM, como veréis es idéntico al del post anterior.

Este es el código:
Código PHP:
<script type="text/javascript">
function 
protoSend(){
var 
params Form.serialize($('presForm'));
new 
Ajax.Updater('formBox''form.php', {asynchronous:trueparameters:params});
}
function 
aparece(){
document.createElement('div');
texto document.createTextNode('formulario');
p.appendChild(texto);
p.id 'formBox';
p.style.clear 'both';
document.createElement('form');
f.name 'presForm';
f.id 'presForm';
f.method 'post';
f.action 'form.php';
f.onsubmit = function(){
protoSend();
return 
false;
}
la document.createElement('label');
inp document.createElement('input');
inp.type ='text';
inp.name ='email';
inp.id'email';
la.appendChild(inp);
sub document.createElement('input');
sub.type 'submit';
sub.value 'enviar';
f.appendChild(la);
f.appendChild(sub);
p.appendChild(f);
ant document.getElementById('e1');
ant.appendChild(p);
}
</script> 
El .php es el mismo.

El problema es que con IE se envia el mensaje, pero NO me aparece el "Gracias por tu e-mail" en el lugar del formulario.

Gracias por vuestra ayuda.

Saludos!
  #3 (permalink)  
Antiguo 12/07/2008, 17:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Form dinámico y que además funcione en IE

Trasladado a Javascript por petición.
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 14:16.