Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2009, 12:32
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 4 meses
Puntos: 175
Filtrar formularios

Me dijeron que el problema es Javascript, asi que lo expongo a continuacion, espero pueda expresarme bien.

Ya hice algo, y necesito conseguir otra cosa mas..

LO QUE YA HICE
Generar una mini funcion sencilla que me permita bloquear ciertos campos mediante unos radios.

Es decir, tengo 3 campos de form, 1 input y 2 combobox...

Cuando selecciono uno el radio 1, me habilita el campo Input y el combobox1, y deshabilita el combobox2.

Cuando selecciono uno el radio 2, me habilita el campo Input y el combobox2, y deshabilita el combobox1.

Hasta aca, como dirian, "todo chevere", pero esos campor serán enviados a un procesador..

lo que necesito tal vez no sea muy complicado, o tal vez si:

Problema

Quiero que al seleccionar uno de los radios, a parte de habilitarme los 2 necesarios y bloquearme uno de ellos, que solo envie la info dentro de los 2 campos habilitados, y el que esta deshabilitado me lo ignore.

Esto porque al enviar el form al procesador, por mas que esté deshabilitado uno de ellos, igual envia la info, y no quiero que eso pase..

les dejo copiado el html y javascript que use para ver si se entiende mas:

Código HTML:
<html>
	<head>

		<title>Buscar Avanzado</title>

		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

	</head>
     <script>
		function bloqueados(){
				
				document.form1.nombre.disabled = true
				document.form1.ciudad.disabled = true
				document.form1.edad.disabled = true
				}
		
		function bloquea() {
		
			if (document.form1.radio[0].checked) {
				document.form1.nombre.disabled = false
				document.form1.ciudad.disabled = false
				document.form1.edad.disabled = true
				document.form1.edad[document.form1.edad.selectedIndex].value=""
				
			}

			if (document.form1.radio[1].checked) {
			document.form1.nombre.disabled = false
			document.form1.edad.disabled = false
			document.form1.ciudad.disabled = true
			document.form1.ciudad[document.form1.ciudad.selectedIndex].value=""
			}
}
</script>

<body onLoad="bloqueados();">
<p>Seleccione una combinaci&oacute;n.
<p>Obs: Solo puede elegir una de ellas para filtrar los datos
    
   
    
<form name="form1" method="post" action="mostrarResultados.php">
  <table width="558" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td>Combinar solo</td>
            <td>&nbsp;</td>
            <td><input name="radio" type="radio" value="" onClick="bloquea()">
            nombre + ciudad            </td>
            <td>&nbsp;</td>
            <td><input name="radio" type="radio" value="" onClick="bloquea()">
              Nombre +Edad</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td width="144" bgcolor="#CCCCCC"><span class="style10">Nombre:</span>
            <input name="nombre" type="text" id="nombre"></td>
            <td width="21" bgcolor="#CCCCCC">&nbsp;</td>
            <td width="187" bgcolor="#CCCCCC">+ Ciudad:
              <select name="ciudad" id="ciudad">
                <option value="0">-- Seleccione un Ciudad --</option>
                <option value="1">Ciudad 1</option>
                <option value="2">Ciudad 2</option>
              </select></td>
            <td width="37" bgcolor="#CCCCCC">&nbsp;</td>
            <td width="158" bgcolor="#CCCCCC">+Edad:
              <select name="edad" id="edad">
                <option value="0">-- Seleccione edad --</option>
                <option value="1">Edad 17</option>
                <option value="2">Edad 18</option>
                <option value="3">Edad 19</option>
                <option value="4">Edad 20</option>
              </select></td>
            <td width="137">&nbsp;</td>
          </tr>
              
          <tr>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td bgcolor="#CCCCCC">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td width="144" bgcolor="#CCCCCC">&nbsp;</td>
            <td width="21" bgcolor="#CCCCCC">&nbsp;</td>
            <td width="187" bgcolor="#CCCCCC">&nbsp;</td>
            <td width="37" bgcolor="#CCCCCC">&nbsp;</td>
            <td width="158" bgcolor="#CCCCCC"><input name="Submit" type="submit" value="encontrar"></td>
            <td width="137">&nbsp;</td>
          </tr>
  </table>
</form>
      
      </body>
</html> 

Zenkiu, si hay alguna duda me lo preguntan asi lo explico mejor, espero una mano, puesto que no soy muy fino con Javascript, mas que lo basico
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...