Ver Mensaje Individual
  #11 (permalink)  
Antiguo 21/01/2012, 11:03
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 11 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.