Foros del Web » Programando para Internet » Javascript »

Asignar valor "null". Por más que intento no me resulta

Estas en el tema de Asignar valor "null". Por más que intento no me resulta en el foro de Javascript en Foros del Web. Hola amigos, La primera vez que se carga la página que contiene los Scripts para los selects; el valor de "Selector2[]" es "null" y las ...
  #1 (permalink)  
Antiguo 22/04/2009, 17:29
 
Fecha de Ingreso: enero-2009
Mensajes: 173
Antigüedad: 15 años, 3 meses
Puntos: 1
Asignar valor "null". Por más que intento no me resulta

Hola amigos,

La primera vez que se carga la página que contiene los Scripts para los selects; el valor de "Selector2[]" es "null" y las opciones en él se recogen y actualizan desde el servidor, según lo que se elija en el selector1.

Al clikar en una de las opciones de "Selector2[]" éste obviamente deja de ser "null". ¿Cómo puedo hacer para que cada vez, después de este momento, que haga click en una de las opciones del primer selector el valor del segundo vuelva a ser "null"? Agradeceré mucho la ayuda que me puedan dar.

Código JavaScript:
Ver original
  1. function Seleccionar() {
  2.  
  3.   var a = document.form1.selector1.value;
  4.  
  5.   if (a != "null") {
  6.      document.form1.action="";
  7.        document.form1.submit();
  8.   }
  9.   else {
  10.     alert("Seleccione un valor."); }
  11. }
  12. </script>
  13.  
  14.  
  15.  
  16. </head>
  17. <body>
  18.  
  19. <form name="form1" method="post" action="recibeS.php">
  20.  
  21.   <select name="selector1" size=3 id="selector1" onChange="javascript:Seleccionar();">
  22.     <option value="null"<?php if (empty($sel1)) { echo " selected"; }
  23.     ?>>Seleccione un valor</option>
  24.     <option value="AR"<?php if ($sel1 == "AR") { echo " selected"; }
  25.     ?>>Argentina</option>
  26.     <option value="MX"<?php if ($sel1 == "MX") { echo " selected"; }
  27.     ?>>México</option>
  28.     <option value="CO"<?php if ($sel1 == "CO") { echo " selected"; }
  29.     ?>>Colombia</option>
  30.   </select>
  31.  
  32.   <select multiple name="selector2[]" id="selector2" style="width:500px" size=3>
  33. <?php
  34.   if ($fillsel2) {
  35.     $contentsel2 = explode("*",$contentsel2);
  36.     foreach($contentsel2 as $key => $value) {
  37.       $item = explode(":",$value);
  38.       echo '<option value="'.$item[0].'">'.$item[1].'</option>'."\n";
  39.     }
  40.   } // if
  41.   else {
  42. ?>
  43.     <option value="null" selected>(Vacío)</option>
  44. <?php } ?>
  45.   </select>
  46.  
  47.   <input type="submit" name="Submit" value="Desplegar tabla(s)" onClick="document.form1.target='tabula'">
  #2 (permalink)  
Antiguo 22/04/2009, 20:06
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
Respuesta: Asignar valor "null". Por más que intento no me resulta

Prueba esto, no se si funcionará:

Código javascript:
Ver original
  1. function revisarselect2()
  2. {
  3.    var selector2 = document.getElementById("selector2");
  4.    if ( selector2.value != "null" ) //Esto significaría que ya has pinchado en alguna opción porque tiene un valor distinto de null.
  5.    {
  6.        selector2.value = "null"; //Vuelve a ponerlo en null.
  7.    }
  8. }

En el evento onChange del select1 deberías llamar a la función antes mencionada.
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
  #3 (permalink)  
Antiguo 22/04/2009, 20:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Asignar valor "null". Por más que intento no me resulta

Si la cuestión es borrar la selección, puedes usar:
Código javascript:
Ver original
  1. document.getElementById("selector2").selectedIndex = -1;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 22/04/2009, 20:48
 
Fecha de Ingreso: enero-2009
Mensajes: 173
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Asignar valor "null". Por más que intento no me resulta

Gracias a ambos por sus respuestas... un problema adicional, es que soy muy nuevo en el uso de JavaScript y PHP.

Me ayudaría saber dónde insertar el código y dónde hacer la llamada de la función, porque he tratado con las dos, el firebug no me da error, pero no consigo que funcione como necesito.

Gracias.
  #5 (permalink)  
Antiguo 22/04/2009, 20:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Asignar valor "null". Por más que intento no me resulta

El código que te indiqué debes colocarlo en el lugar donde quieres que la selección del select multiple sea anulada.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 05/08/2009, 02:46
 
Fecha de Ingreso: julio-2009
Ubicación: En PHPlandia, AJAXia y JavaScriptín
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Asignar valor "null". Por más que intento no me resulta

Os pregunto aquí, porque es el mismo tema...

Tengo el mismo problema, con AJAX cargo dentro del div 'resultado' el select 'registros[]', entonces en mi función Javascript intento esto:
Código:
contenedor = document.getElementById("resultado");
contenedor.getElementById("registros").selectedIndex = -1;
y no va... ¿hago algo mal?
  #7 (permalink)  
Antiguo 05/08/2009, 08:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Asignar valor "null". Por más que intento no me resulta

No puede ser contenedor.getElementById, debe ser document.getElementById
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 05/08/2009, 13:32
 
Fecha de Ingreso: julio-2009
Ubicación: En PHPlandia, AJAXia y JavaScriptín
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Asignar valor "null". Por más que intento no me resulta

Pero entonces... como indico que registros se encuentra dentro de contenedor??? O con poner document.getElementById("registros") ya valdría?
  #9 (permalink)  
Antiguo 05/08/2009, 13:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Asignar valor "null". Por más que intento no me resulta

El atributo id debe ser un identificador único en el documento, no puede repetirse; por lo que sólo existe document.getElementById()
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 05/08/2009, 14:02
 
Fecha de Ingreso: julio-2009
Ubicación: En PHPlandia, AJAXia y JavaScriptín
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Asignar valor "null". Por más que intento no me resulta

Cierto, jeje Gracias por la aclaració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 18:14.