Autor
|
Tema: javascript método onClick(); (Leído 5,391 veces)
|
Arm144
Desconectado
Mensajes: 13
|
Buenas me gustaría saber una forma de conseguir que al pulsar un botón me devuelva por ejemplo 'a'. a continuación si pulso de nuevo que me devuelva 'b'. y repetir el proceso. Todo ello en javascript lo he intentado de mil y una formas y ya me quedo sin ideas. Pense esto pero obviamente no funciona. <script> function valor(values){ value=values.split(","); for(var i=0;i<value.length;i++){ if (value=='A'){ var value='B'; }else if(value=='B'){ var value='A'; } alert(value); i++; } } </script> <body> <input type="button" onClick="valor('ASC,DESC');" value="valor"> </body>
|
|
« Última modificación: 26 Febrero 2017, 22:09 pm por Arm144 »
|
En línea
|
|
|
|
engel lex
|
tienes varias formas, una sería hacer una variable global para darle el valor, otra es pegarlo a la variable window para hacerla global dinamicamente, otra forma es pasarselo a algún campo asociado al boton para que el sea quien lo guarde
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Arm144
Desconectado
Mensajes: 13
|
Algún ejemplo por favor?, ya que lo intenté con variable global y tampoco me salió anteriormente.
|
|
|
En línea
|
|
|
|
engel lex
|
para mi esmas facil que el botón guarde el estado, así que lo haré así fijate que paso un argumento "this" que referencia al mismo botón y que agrego una propiedad que no interferiá con el funcionamiento del input <input type="button" onClick="valor(this);" value="valor" estado="A">
con manejo del DOM es cosa de acceder al estado para leerlo y cambiarlo, usando como ancla el argumento pasado function valor(elemento) { var att = elemento.getAttribute("estado"); alert(att) if(att=='A'){ elemento.setAttribute("estado","B"); }else{ elemento.setAttribute("estado","A"); }
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Arm144
Desconectado
Mensajes: 13
|
Gracias resuelto del siguiente modo: <script> window.estado=0; function verificador(estado) { if (estado==0) { alert("DESC"); window.estado++; } else if (estado==1) { alert("ASC"); window.estado=0; } } </script> <body> <button onclick="verificador(estado);">PRUEBA</button> </body>
|
|
|
En línea
|
|
|
|
engel lex
|
el window.estado hace el trabajo, te doy 2 correciones no estás usando estado, no lo necesitas como parametro, puedes quitarlo en y otra cosa, si vas a manejar solo 0 y 1 no uses ++, podría causarte un conflicto si tu codigo se vuelve más complejo, usa solo estado bien conocidos, tambien, si no vas a usar más casos de if, no es necesario el else if, un simple else hará el trabajo y ayudará a reducir errores, para esto if (estado==0) { alert("DESC"); window.estado=1; } else { alert("ASC"); window.estado=0; }
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
WHK
|
Para crear atributos personalizados en html se utiliza data-nombre, reemplazas nombre por el nombre del parametro personalizado, sin espacios ni guiones adicionales, solo letras y números. Por ejemplo: <input type="button" onclick="valor(this);" value="valor" data-estado="A"> Otra cosa, onClick no existe como atributo según el estandar de la w3c, que los navegadores lo ejecuten es otra cosa pero no están obligados a hacerlo, el estandar a partir de xhtml hacia arriba dice que todos los nombres de etiquetas y atributos van en minusculas, las mayusculas no debieran ser interpretados.
|
|
|
En línea
|
|
|
|
engel lex
|
Para crear atributos personalizados en html se utiliza data-nombre, reemplazas nombre por el nombre del parametro personalizado, sin espacios ni guiones adicionales, solo letras y números. Por ejemplo: <input type="button" onclick="valor(this);" value="valor" data-estado="A"> Otra cosa, onClick no existe como atributo según el estandar de la w3c, que los navegadores lo ejecuten es otra cosa pero no están obligados a hacerlo, el estandar a partir de xhtml hacia arriba dice que todos los nombres de etiquetas y atributos van en minusculas, las mayusculas no debieran ser interpretados. tengo ue retomar un poco el studio de los standards! jejeje gracias por la aclaración
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Arm144
Desconectado
Mensajes: 13
|
Gracias por las correciones y ayudas. Saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda metodo onclick
Desarrollo Web
|
kakashi20
|
2
|
4,148
|
7 Enero 2011, 04:32 am
por kakashi20
|
|
|
Formulario con javascript y php onclick etc...
PHP
|
nobo
|
4
|
6,342
|
2 Marzo 2012, 22:42 pm
por nobo
|
|
|
Invocar metodo javascript desde Applet
Java
|
mapers
|
0
|
2,450
|
5 Septiembre 2013, 23:22 pm
por mapers
|
|
|
[RESUELTO] Método test() en javascript (duda)
Scripting
|
MA40
|
2
|
2,707
|
17 Septiembre 2016, 20:38 pm
por MA40
|
|
|
Generar button´s con onClick() con javascript
Desarrollo Web
|
NaTxosS
|
2
|
2,506
|
10 Enero 2017, 10:10 am
por NaTxosS
|
|