elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  javascript método onClick();
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: javascript método onClick();  (Leído 5,005 veces)
Arm144

Desconectado Desconectado

Mensajes: 13


Ver Perfil
javascript método onClick();
« en: 26 Febrero 2017, 21:41 pm »

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.

Código:
<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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: javascript metro onClick();
« Respuesta #1 en: 26 Febrero 2017, 21:48 pm »

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 Desconectado

Mensajes: 13


Ver Perfil
Re: javascript método onClick();
« Respuesta #2 en: 26 Febrero 2017, 22:33 pm »

Algún ejemplo por favor?, ya que lo intenté con variable global y tampoco me salió anteriormente.  :-[
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: javascript método onClick();
« Respuesta #3 en: 26 Febrero 2017, 22:44 pm »

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
Código
  1. <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

Código
  1. function valor(elemento) {
  2.    var att = elemento.getAttribute("estado");
  3.    alert(att)
  4.    if(att=='A'){
  5.     elemento.setAttribute("estado","B");
  6.    }else{
  7.     elemento.setAttribute("estado","A");
  8.    }
  9.  
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 Desconectado

Mensajes: 13


Ver Perfil
Re: javascript método onClick();
« Respuesta #4 en: 26 Febrero 2017, 23:31 pm »

Gracias resuelto del siguiente modo:
Código:
<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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: javascript método onClick();
« Respuesta #5 en: 26 Febrero 2017, 23:36 pm »

el window.estado hace el trabajo, te doy 2 correciones

no estás usando estado, no lo necesitas como parametro, puedes quitarlo en
Código:
function verificador()


y

Código:
onclick="verificador();"

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

Código:
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
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: javascript método onClick();
« Respuesta #6 en: 27 Febrero 2017, 00:11 am »

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:

Código:
<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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: javascript método onClick();
« Respuesta #7 en: 27 Febrero 2017, 00:18 am »

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:

Código:
<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.



:silbar: 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 Desconectado

Mensajes: 13


Ver Perfil
Re: javascript método onClick();
« Respuesta #8 en: 27 Febrero 2017, 01:36 am »

Gracias por las correciones y ayudas. Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda metodo onclick
Desarrollo Web
kakashi20 2 3,946 Último mensaje 7 Enero 2011, 04:32 am
por kakashi20
Formulario con javascript y php onclick etc...
PHP
nobo 4 6,162 Último mensaje 2 Marzo 2012, 22:42 pm
por nobo
Invocar metodo javascript desde Applet
Java
mapers 0 2,129 Último mensaje 5 Septiembre 2013, 23:22 pm
por mapers
[RESUELTO] Método test() en javascript (duda)
Scripting
MA40 2 2,373 Último mensaje 17 Septiembre 2016, 20:38 pm
por MA40
Generar button´s con onClick() con javascript
Desarrollo Web
NaTxosS 2 2,281 Último mensaje 10 Enero 2017, 10:10 am
por NaTxosS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines