Que tal:
Ojala me puedan ayudar con esto. Tengo un formulario en html y funciona con javascript por que quiero que se llenen los datos de acuerdo a varios parametros (edad, tel, etc) aqui esta el codigo html con el js:
<script type="text/javascript">
function validar(formulario) {
if (formulario.nombre.value.length < 6) {
alert("Escriba por lo menos 6 caracteres en el campo \"Nombre\".");
formulario.nombre.focus();
return (false);
}
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var checkStr = formulario.nombre.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
alert("Escriba sólo letras en el campo \"Nombre\".");
formulario.nombre.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = formulario.telefono.value;
var allValid = true;
var decPoints = 0;
var allNum = "";
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
allNum += ch;
}
if (!allValid) {
alert("Escriba sólo dígitos en el campo \"Teléfono\".");
formulario.telefono.focus();
return (false);
}
var chkVal = allNum;
var prsVal = parseInt(allNum);
if (formulario.telefono.value.length < 8) {
alert("Escriba por lo menos 8 números en el campo \"Teléfono\".");
formulario.telefono.focus();
return (false);
}
if ((formulario.correo.value.indexOf ('@', 0) == -1)||(formulario.correo.value.length < 5)) {
alert("Escriba una dirección de correo válida en el campo \"Dirección de correo\".");
formulario.correo.focus();
return (false);
}
return (true);
}
</script>
</HEAD>
<form method = "POST" name = "registro" onSubmit = "return validar(this)" action = "mi.asp">
<BODY>
<pre class="style1"><span class="style4">Nombre:</span>
<TEXTAREA style="FONT-SIZE: 14px; WIDTH: 283px; FONT-STYLE:normal; FONT-FAMILY:Arial, Helvetica, sans-serif; HEIGHT: 16px" name="nombre" cols=26></TEXTAREA>
</pre>
<pre class="style1"><span class="style4">Teléfono:</span>
<TEXTAREA style="FONT-SIZE: 14px; WIDTH: 283px; FONT-STYLE:normal; FONT-FAMILY:Arial, Helvetica, sans-serif; HEIGHT: 16px" name="telefono" cols=26></TEXTAREA>
</pre>
<pre class="style1"><span class="style4">Escribe tu correo electronico:</span>
<TEXTAREA style="FONT-SIZE: 14px; WIDTH: 283px; FONT-STYLE:normal; FONT-FAMILY:Arial, Helvetica, sans-serif; HEIGHT: 16px" name="correo" cols=26></TEXTAREA>
</pre>
<pre class="style1"><span class="style4">Preguntas y Comentarios:</span>
<TEXTAREA style="FONT-SIZE: 12px; WIDTH: 283px; FONT-STYLE:normal; FONT-FAMILY:Arial, Helvetica, sans-serif; HEIGHT: 50px" name="mensaje" cols=26></TEXTAREA>
</pre>
<table width="290" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left"><span class="style1">
<input type="submit" value="Enviar" name="Enviar" />
</span></td>
<td align="right"><span class="style1">
<input type="reset" value="Borrar" name="Borrar" />
</span></td>
</tr>
</table>
</BODY>
</HTML>
</form>
Depues al llenar el formulario se manda al asp para que este lo mande a un correo electronico:
<%
if Request.Form("Enviar")<>"" then
strMail=""
strMail=Request.form("nombre")()
strmail=strMail & "<p>"
strMail=strMail & Request.form("telefono")()
strmail=strmail & "<p>"
strMail=strMail & Request.form("correo")()
strmail=strmail & "<p>"
strmail=strmail & strmail & Request("mensaje")()
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item(sch & "sendusing") = 2 ' cdoSendUsingPort
.Item(sch & "smtpserver") = "DIRECCION IP"
.update
End With
Set myMail=CreateObject("CDO.Message")
Set mymail.Configuration = cdoConfig
myMail.Subject="Contacto desde mi pag web"
myMail.to="[email protected]"
myMail.From = "[email protected]"
myMail.HTMLBody=strmail
myMail.Send
Response.redirect "gracias.html"
set myMail=nothing
end if
%>
El problema es que cuando se envian los datos, llegan 2 veces el nombre, telefono, y el correo pero una sola vez el comentario.
Alguien me puede decir que codigo puse mal ? Se los agredeceria