Una pregunta urgente..

Tengo un formulario con dos checkbox para la Forma de Pago (Contrarreembolso o Tarjeta) y a continuación unos textfields para el número de tarjeta y caducidad de esta. Lo que quiero es, que al chequear Contrarreembolso, no me deje poner nada en la casilla de la tarjeta y la de caducidad. Y que si chequea Pago con Tarjeta ya deje escribir en ella. O eso, o que no aparezcan esos 2 textfields a no ser que se chequee la opcion de Tarjeta.
No se si me he explicado bien,de todas formas aquí te envió el código del form para ver sime puedes ayudar:
<FORM onsubmit="return validacion(this)" name="form1" action="GrabarEnvio.asp" method="post">
<INPUT type="hidden" name="CodCliente1" value="<%=(REQUEST.QUERYSTRING("Pass"))%>">
<TABLE width="90%" border="1" cellspacing="0" cellpadding="0" align="center" height="352" bgcolor="#CCCCCC"">
<TR bgcolor="#000000">
<TD height="50" colspan="2" align="center"><font face="Comic Sans MS" size="5"><b><i><font size="6">DATOS
DE ENVIO</font></i></b></font></TD>
</TR>
<TR>
<TD align="right" width="37%" height="36">
<DIV align="right"><font color="#000000" size="3"><i><font face="Comic Sans MS">Dirección
de envío: </font></i></font></DIV>
</TD>
<TD width="63%" height="36"> <font color="#000000" size="3"><i><b><font face="Comic Sans MS">
<INPUT type="text" name="EDireccion" size="40">
</font></b></i></font></TD>
</TR>
<TR>
<TD align="right" width="37%" height="39">
<DIV align="right"></DIV>
<font color="#000000" size="3"><i><b><font face="Comic Sans MS">
</font></b></i></font>
<DIV align="right"><font color="#000000" size="3"><i><font face="Comic Sans MS">Localidad:
</font></i></font></DIV>
<font color="#000000" size="3"><i><b><font face="Comic Sans MS">
</font></b></i></font></TD>
<TD width="63%" height="39"><font color="#000000" size="3"><i><b><font face="Comic Sans MS">
<input type="text" name="ELocalidad" size="20">
</font></b><font color="#000000" size="3"><i><font face="Comic Sans MS">CP:</font></i></font><font face="Comic Sans MS"></font><b><font face="Comic Sans MS">
</font><font color="#000000" size="3"><i><b><font face="Comic Sans MS">
<input type="text" name="ECP" size="5" maxlength="5">
</font></b></i></font></b></i></font></TD>
</TR>
<TR>
<TD height="34" align="right" width="37%">
<DIV align="right"><font color="#000000" size="3"><i><font face="Comic Sans MS">Provincia:
</font></i></font></DIV>
</TD>
<TD height="34" width="63%"> <font color="#000000" size="3"><i><b><font face="Comic Sans MS">
<SELECT name="Codprovincia">
<%
sql="SELECT * FROM Provincias ORDER BY Provincia"
SET rsAux=conn.EXECUTE(sql)
DO WHILE NOT rsAux.EOF
%>
<OPTION value="<%=rsAux("CodProvincia")%>"><%=rsAux("Provincia")%>
</OPTION>
<%
rsAux.MOVENEXT
LOOP
rsAux.CLOSE
SET rsAux=NOTHING
%>
</SELECT>
</font></b></i></font></TD>
</TR>
<TR>
<TD align="right" width="37%" height="39">
<DIV align="right"><font color="#000000" size="3"><i><font face="Comic Sans MS">Teléfono
de Contacto: </font></i></font></DIV>
</TD>
<TD width="63%" height="39"> <font color="#000000" size="3"><i><b><font color="#000000" size="3"><i><b><font face="Comic Sans MS">
<input type="text" name="ETelefono" size="15" maxlength="12">
</font></b></i></font><font face="Comic Sans MS"> </font></b></i></font></TD>
</TR>
<TR>
<TD align="right" width="37%">
<DIV align="right"><font color="#000000" size="3"><i><font color="#000000" size="3"><i><font face="Comic Sans MS">Forma
de Pago: </font></i></font></i></font></DIV>
</TD>
<TD height="30">
<p><font color="#000000" size="3"><i><b><font color="#000000" size="3"><i><b><font face="Comic Sans MS">
<input type="radio" name="FPago" value="1" checked>
</font></b></i></font></b><font...
Respuesta
1
Una forma de impedir que te modifiquen el campo cuando tienes seleccionado en el campo radio contrareembolso es:
<input type="text" name="NTarjeta" maxlength="23" value="0000 0000 00 0000000000"
onFocus="if(document.forms[0].FPago[0].checked)this.blur();">
<input type="text" name="Caduca" size="4" maxlength="4" value="2005"
onFocus="if(document.forms[0].FPago[0].checked)this.blur();">
De esta forma consigues que no puedan modificar los campos.

1 respuesta más de otro experto

Respuesta
1
Te mando un ejemplo para deshabilitar dinámicamente los textos. En este ejemplo, hay un radio de 2 opciones y un campo de texto. Si toco el primer radio lo deshabilito, y si toco el segundo lo habilito.
<input type=radio name=a id=a value="hola" onclick="c.disabled = true;">
<input type=radio name=a id=b value="chau" onclick="c.disabled = false;">
<input type=text name=c id=c>
Para tu caso, donde querés habilitar/deshabilitar varios campos, la solución es llamar a una función que deshabilite todos (en el ejemplo te muestro como deshabilitar uno).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas