GatorV,
Explico mejor mis avances. He construido dos páginas:
PÁGINA 03FORM_WEB2.ASP
<SCRIPT LANGUAGE=JavaScript>
function nuevoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function enviarFormulario(url, formid, divrespuesta){
var Formulario = document.getElementById(formid);
var longitudFormulario = Formulario.elements.length;
var cadenaFormulario = "";
var sepCampos;
sepCampos = "";
for (var i=0; i <= Formulario.elements.length-1;i++) {
cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
sepCampos="&";
}
divrespuesta=nuevoAjax();
divrespuesta.open("POST", url, true);
divrespuesta.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
divrespuesta.send(cadenaFormulario);
divrespuesta.onreadystatechange = function() {
var divrespuesta = document.getElementById("divrespuesta");
if(divrespuesta.readyState == 4)
{
divrespuesta.innerHTML='GRACIAS';
}
else
{
divrespuesta.innerHTML='Procesando...';
}
}
}
</script>
<script type="text/javascript">
function mostrar(num) {
document.getElementById('capa-1').style.display = (num==-1) ? 'block' : 'none';
document.getElementById('capa0').style.display = (num==0) ? 'block' : 'none';
document.getElementById('capa1').style.display = (num==1) ? 'block' : 'none';
}
</script>
<div id="divrespuesta">
<form action="#" method="post" name="formid" id="formid" autocomplete="off">
<div id="capa-1">
¿Te ha sido útil esta información?
<input type="radio" name="nombre" value="si" onclick = "mostrar(0)" /> Sí
<input type="radio" name="nombre" value="no" onclick = "mostrar(1)" /> No
</div>
<div id="capa0" style="display:none">
Nos alegra que la información te haya sido útil. ¿Qué aspectos de esta respuesta te han gustado?<br><input type="text" name="mensaje" value = "" size="50" />
<input class="submitbutton" type="submit" value="Enviar comentarios" id="enviar" tabindex="5" onclick="enviarFormulario('03form_send.asp','formi d', 'divrespuesta');"/>
</div>
<div id="capa1" style="display:none">
Haznos saber por qué no te ha resultado útil esta información. ¡Gracias!<br><input type="text" name="mensaje" value = "" size="50" />
<input class="submitbutton" type="submit" value="Enviar comentarios" id="enviar" tabindex="5" onclick="enviarFormulario('03form_send.asp','formi d', 'divrespuesta');" />
</div>
</form>
</div>
PÁGINA 03FORM_SEND.ASP:
<%
'------------------------------------------------
myEmail = "
[email protected]"
myPassword = "******"
mymensaje = request("nombre")
mymensaje = mymensaje & Request("mensaje")
'------------------------------------------------
%>
<%Dim objEmail
Set objEmail = Server.CreateOBject( "JMail.Message" )
objEmail.MailServerUserName = "
[email protected]"
objEmail.MailServerPassword = "*******"
objEmail.From = "
[email protected]"
objEmail.ReplyTo = "
[email protected]"
objEmail.AddRecipient "
[email protected]"
objEmail.Subject = "Comentarios"
objEmail.Body = mymensaje
objEmail.Send("mail.midominio.com")
Set objEmail = Nothing
%>
1.- Cuando ejecuto el formulario, quisiera que una vez enviado apareciera el mensaje GARCIAS y no el formulario de nuevo.
2.- Cuando lo incluyo en la página me refresca la página; ¿debo incluir algo en el BODY de la página donde incluyo el formulario a través de un INCLUDE?
3.- Pese a marcar sólo un botón, recibo ambos: 'sí y no' en la respuesta, como si hubiera marcado ambos botones de radio; ¿cómo lo hago para recibir sólo la respuesta marcada por el usuario? He comprobado el código y no veo error.
Gracias, Emajesus