Foros del Web » Programando para Internet » Javascript »

Permutar valor variables onclick radiobutton

Estas en el tema de Permutar valor variables onclick radiobutton en el foro de Javascript en Foros del Web. Hola a todos, Me presento ya que soy nuevo. Llevo poco tiempo en esto de la programación web (de hecho llevo desde que empezó 2012) ...
  #1 (permalink)  
Antiguo 20/01/2012, 14:58
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Permutar valor variables onclick radiobutton

Hola a todos,

Me presento ya que soy nuevo. Llevo poco tiempo en esto de la programación web (de hecho llevo desde que empezó 2012) y la verdad es que tampoco he tenido problemas como para recurrir a vosotros... hasta ahora. He ido haciendo cosas... "complicadas" para mi nivel y resulta que me atasco en lo más tonto.
Estoy tratando de crear una web dinámica de manera que acceda a una base de datos y en función de lo que haya almacenado genere ciertas tablas y ciertos radiobuttons... Bueno, pues me gustaría almacenar el valor del radiobutton marcado, es decir, que cuando yo clickeé un radiobutton haya una variable que almacene el valor del radiobutton marcado, si le doy a otro radiobutton (del mismo grupo) la variable (la misma de antes) tomará el nombre del nuevo radiobutton.
Y aquí me he quedado...

Os paso el código a ver si alguno me sugiere que puedo hacer:

Código HTML:
<td width="20" class="CentroLetras"><input type="radio" name="RadioButton" value="<%=nombrevalue%>" onclick="mostrardiv(<%=nombre%>)" id=<%=nombredispositivo%> /></td> 
He intentado que en onclick haga:
onclick="<%variable=id%>

También he intentado hacer un javascript pasándole el id y modificando la variable pero algo habré hecho mal cuando no me sale.

Muchas gracias y lamento estas preguntas tan absurdas para muchos de vosotros.

Un saludo.
  #2 (permalink)  
Antiguo 20/01/2012, 15:01
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Permutar valor variables onclick radiobutton

Hola de nuevo.

He visto una errata propia de las prisas que no son buenas consejeras:

id="<%nombredispositivo%>"

Lo tengo bien puesto en mi página...
  #3 (permalink)  
Antiguo 20/01/2012, 15:24
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Permutar valor variables onclick radiobutton

Bienvenido a FDW, revisá este ejemplo a ver si te orienta un poco

http://www.desarrolloweb.com/articul...dio_buton.html

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 20/01/2012, 15:42
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Permutar valor variables onclick radiobutton

Gracias emprear por tu respuesta y además de manera tan rápida.

Ahora mismo estaba echándole un ojo al código que me has recomendado. Por lo que veo se trata de recorrer todos los radiobuttons y cuando vea el que está 'checked' extraigo el campo value de ese radiobutton... La verdad es que jamás se me hubiese ocurrido la verdad. Sin duda podré adaptarlo a mi página.

Tan sólo me surge la duda de sustituir el background de la pantalla por mi variable. Me explico. Cuando 'encuentre' mi radiobutton activado extraeré el valor a mi variable... ¿así?:

variable = document.fcolores.colorin[i].value

Hago esta pregunta porque no sé si luego tendría problemas con el tema de las variables entre javascript y html.

Creo que esta noche toca picar código... jajajja. GRACIAS.
  #5 (permalink)  
Antiguo 20/01/2012, 15:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Permutar valor variables onclick radiobutton

Si, exactamente, solo que en el ejemplo no guardan el valor en una variable, sino que se lo pasan directamente al background.
Si probás con esta script lo vas a notar

Código Javascript:
Ver original
  1. <script>
  2. function cambiaColor(){
  3.     var i
  4.     for (i=0;i<document.fcolores.colorin.length;i++){
  5.        if (document.fcolores.colorin[i].checked)
  6.           break;
  7.     }
  8.    
  9.     var mi_variable = document.fcolores.colorin[i].value;
  10.     alert(mi_variable);
  11.     document.bgColor = mi_variable;
  12. }
  13. </script>

Y ojo con el turquesa que tiene mal definido el código de color

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 20/01/2012, 16:04
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Permutar valor variables onclick radiobutton

Comprendido perfectamente.

Te agradezco mucho la ayuda prestada.

Un saludo,
  #7 (permalink)  
Antiguo 21/01/2012, 04:51
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Permutar valor variables onclick radiobutton

Hola de nuevo,

Lamento reflotar un hilo que parecía solucionado y cerrado, pero tengo una duda que intuia ayer que iba a tener.

Tengo el código que me sugirió emprear:

Código:
<script> 
function cambiarvariable(){ 
    var i 
    for (i=0;i<document.form1.RadioButton.length;i++){ 
       if (document.form1.RadioButton[i].checked) 
          break; 
    } 
     var variable1 = document.form1.RadioButton[i].id;   
		alert(variable)
	document.getElementById("variabledispositivo").innerHTML = variable1
} 
</script>
He añadido la siguiente línea porque pretendo utilizar la 'variabledispositivo' en un trozo de código html y poder guardarla en la base de datos.

document.getElementById("variabledispositivo").inn erHTML = variable1

Pues bien, estoy tratando de usar 'variabledispositivo', como comentaba, en una sentencia SQL y la variable me aparece vacía, de hecho, estoy intentando mostrarla por pantalla (haciendo un response.write) y efectivamente está vacía. Que decir tiene que también he intentado leer 'variable1' (por si la línea nueva no vale para nada) y tampoco hay nada dentro.
La variable está declarada en html por si ayuda de algo.

Intuyo que el problema es que html no está leyendo correctamente el valor de la variable, y he intentado "leer" la variable de todas las maneras y no hay manera... ¿Alguna solución?

Gracias de nuevo y lamento ser tan pesado.
  #8 (permalink)  
Antiguo 21/01/2012, 05:45
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Permutar valor variables onclick radiobutton

Hola,

Ya he visto que es "imposible" pasar datos desde JAvaScript a ASP (por ejemplo). QUE ME CORRIJAN LOS EXPERTOS SI ME EQUIVOCO QUE NO QUIERO CONFUNDIR A LA GENTE¡¡¡. He leído alguna forma de pasar variables (modificando los campos ocultos dentro de un formulario) pero no me convencen mucho.
Intentaré buscar la manera de hacer la sentencia SQL dentro del JavaScript (que no sé si se puede, ahora lo probaré) pero voy a tener que pensar formas alternativas de ejecutar el proceso de la web.

ME autorrespondo por si alguien tuviese la misma duda...

Continuo con la batalla.

Saludos.
  #9 (permalink)  
Antiguo 21/01/2012, 06:21
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Permutar valor variables onclick radiobutton

@myles_ken

Me estás creando una confusión de aquellas.
Como se relaciona tu html que contiene los radiobuttons con un ASP? Hay un form y el ASP lo procesa?
"variabledispositivo", No es ninguna variable, hasta donde se vé, es un elemento del html al que le estas pasando como innerHTML. el valor de variable1 (esa si es una variable), que es el valor del radio seleccionado. Y si hubiese un form (que tampoco sé si lo hay), lo pasas por POST o GET al ASP. En fin, no entiendo, se me escapa algo.

Como un dato extra, no conoczco ASP, pero es seguro casi que no varia mucho a PHP en ese sentido y podés pasar variables de Javascript PHP usando cookies.


A esta altura creo que el tema supera html, asi que mejor pedir que lo muevan , a javascript, al menos
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #10 (permalink)  
Antiguo 21/01/2012, 06:49
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Permutar valor variables onclick radiobutton

Hola emprear,

Indudablemente no soy muy bueno explicándome. Lamento confundirte. Voy a intentar hacerlo más 'gráfico' (espero no escribir ningún error).

Yo tengo este código:

Código:
<html>
<body>

<form id="form1" name="form1" method="post" action="">

<input type="radio" name="RadioButton" value="<%=nombrevalue%>" onclick="mostrardiv(<%=nombre%>);cambiarvariable()" id="<%=nombredispositivo%>" />
<input type="radio" name="RadioButton" value="<%=nombrevalue%>" onclick="mostrardiv(<%=nombre%>);cambiarvariable()" id="<%=nombredispositivo%>" />

<%
Response.write(variabledispositivo)
%>

</body>
</html>
No sé si olvido poner algo, pero hasta ahí todo bien pues hace lo que le pido. Ahora, cuando sucede el evento 'onClick' llama al javascript que mencionaba antes:

Código:
<script>
var variabledispositivo 
function cambiarvariable(){ 
    var i 
    for (i=0;i<document.form1.RadioButton.length;i++){ 
       if (document.form1.RadioButton[i].checked) 
          break; 
    } 
     var variable1 = document.form1.RadioButton[i].id;   
	alert(variable)
	document.getElementById("variabledispositivo").innerHTML = variable1
} 
</script>
De esta manera, pretendo que cuando pinche en un radiobutton imprima por pantalla el 'id' del radiobutton (que son distintos y provienen de una variable que se llama <%=nombre%>. Ya sé que puedo hacer un alert, un document.write... dentro del javascript, es problema es que necesito hacer un response.write (lo pongo así para que me entiendas).

El resultado como comentaba es que no imprime nada por pantalla.

Siento ser tan negado para esto y sé que puedo resultar pesado. Mis más sinceras disculpas.

Un saludo y gracias emprear por tu paciencia.
  #11 (permalink)  
Antiguo 21/01/2012, 11:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Permutar valor variables onclick radiobutton

Vamos a redondear algunos conceptos antes
te sintetizo el contenido de
http://www.desarrolloweb.com/faq/44.php

Cita:
Dado que PHP y ASP son lenguajes de lado servidor y Javascript es un lenguaje de lado cliente, el orden en el que estos dos lenguajes serán ejecutados será siempre el mismo: primero PHP (o ASP) y luego Javascript.
Así, cuando un usuario envíe una petición al servidor, el servidor va a tomar el archivo PHP (o ASP) y va a ejecutar su contenido de modo a producir una pagina comprensible por el navegador. Por supuesto, en esta pagina enviada al navegador puede haber cualquier script de lado cliente que ya sea Javascript o VBScript.
Esto quiere decir que siempre será posible modificar nuestros scripts de lado cliente pasando parámetros desde un lenguaje de lado servidor pero, por el contrario, no podremos alterar el código del lenguaje de lado servidor a partir de los parámetros definidos por un lenguaje de lado cliente.
Dicho de otra forma, podemos pasar variables de PHP (o ASP) hacia un codigo Javascript residente en la misma pagina. Sin embargo, el paso inverso no es posible.

Para pasar los parámetros, lo haremos de la misma forma que hacemos para el codigo HTML, es decir, embebiendo en nuestro codigo Javascript comandos echo (en PHP) o métodos Response.Write (en ASP).
Para ASP
<script>
var variableServidor = <%=variableServidor%>
</script>

Para PHP
<script>
var variableServidor = <?php echo $variableServidor;?>
</script>
Como ves el echo es el equivalente php del Response.Write Asp.
Yendo a tu script (el asp y js)

que representa esto
Código ASP:
Ver original
  1. <%
  2. Response.write(variabledispositivo)
  3. %>
Sencillamente no representa nada, la variable "variabledispositivo" no existe, ni en el asp ni en el js, lo unico que sabes es que "variabledispositivo" es el presunto id de algún elemento (probablemente, una capa en la que quieras mostrar un texto)

Por otra parte, la propiedad innerHTML de un radio, como la de cualquier otro <input>, no arroja ningun valor. Y además sabiendo que tus radios tienen un id definido, ni siquiera necesitas recorrerlos para averiguar el value del radio clickeado

Ejemplo:
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. function mostrardiv(valor){
  9. document.getElementById("variabledispositivo").innerHTML = "este es el id del radio clickeado: " + valor;
  10. }
  11.  
  12. function verinner(valor){
  13. var elinner = document.getElementById(valor).innerHTML;
  14. alert('este es el innerHtml del radio con id ' + valor + ':\r\n' + elinner);
  15. }
  16.  
  17. function vervalor(valor){
  18. var elvalor = document.getElementById(valor).value;
  19. alert('este es el valor del radio con id ' + valor + ':\r\n' + elvalor + '\n\rRestablecemos el mensaje a 0');
  20. document.getElementById("variabledispositivo").innerHTML = "";
  21. }
  22. //]]>
  23. </head>
  24.  
  25. <form id="form1" method="post" action="">
  26. <div>
  27. <label for="radio_uno">Blanco</label>
  28. <input type="radio" name="RadioButton" value="Blanco"
  29. onclick="mostrardiv(this.id);verinner(this.id);vervalor(this.id);" id="radio_uno" />
  30. <label for="radio_dos">Azul</label>
  31. <input type="radio" name="RadioButton" value="Azul"
  32. onclick="mostrardiv(this.id);verinner(this.id);vervalor(this.id);" id="radio_dos" />
  33. <label for="radio_tres">Rojo</label>
  34. <input type="radio" name="RadioButton" value="Rojo"
  35. onclick="mostrardiv(this.id);verinner(this.id);vervalor(this.id);" id="radio_tres" />
  36. </div>
  37. </form>
  38.  
  39. <p><br />Mensajes</p>
  40. <div id="variabledispositivo">
  41. </div>
  42. </body>
  43. </html>

Para finalizar, una pequeña corrección sobre el artículo del inicio, como ya te dije, podes pasar variables de js a asp/php usando cookies

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #12 (permalink)  
Antiguo 21/01/2012, 17:45
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Permutar valor variables onclick radiobutton

GRACIAS POR LA MARAVILLOSA EXPLICACIÓN

Trataré de estudiar (e interiorizar) algún concepto que no acabo de entender. Con la explicación y los ejemplos que me has puesto creo que podré avanzar.

Un saludo emprear
  #13 (permalink)  
Antiguo 12/05/2015, 09:32
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Permutar valor variables onclick radiobutton

hola a todos y es muy bueno el foro, con respecto al codigo anterior, me funciona super bien ahora la consulta es como puedo mostrar el valor del radio button en un input text, para explicar mejor tengo N radio button y N input text, debido a que es un formulario dinamico y necesito vez que pincho en un radio me muestre el valor en un input.
gracias

Etiquetas: onclick, permutar, radiobutton, tabla, variables
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 11:11.