Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] conflicto entre

Estas en el tema de conflicto entre en el foro de Jquery en Foros del Web. hola todos tengo un problema haber si algien me puede hechar una mano tengo un boton que cuando se pulsa aparece una ventana emergente @import ...
  #1 (permalink)  
Antiguo 08/12/2014, 07:32
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años, 7 meses
Puntos: 0
conflicto entre

hola todos tengo un problema haber si algien me puede hechar una mano

tengo un boton que cuando se pulsa aparece una ventana emergente


Código PHP:
Ver original
  1. boton=>     <type='submit' id='b6' >pulsa aqui</a>
  2.  
  3. script=>      $("#b6").click(function() {  $("#dialogo").dialog({width: 100, height: 14 }); });
  4.  
  5. texto a mostrar =>    <div id='dialogo' >Muestro el dialogo por pantalla</div>


Pues mi problema es que quiero crear dos botones identicos en la misma pagina para que muestren el mismo dialogo por pantalla
El problema es que cuando creo un segundo botton, este entra en conflito con el primero y no muestra nada por pantalla

o asea si no funcionaria ¿que puedo hacer?
Código PHP:
Ver original
  1. boton uno=>     <type='submit' id='b6' >pulsa aqui</a>
  2. boton dos=>     <type='submit' id='b6' >pulsa aqui</a>
  3.  
  4. script=>      $("#b6").click(function() {  $("#dialogo").dialog({width: 100, height: 14 }); });
  5.  
  6. texto a mostrar =>    <div id='dialogo' >Muestro el dialogo por pantalla</div>
  #2 (permalink)  
Antiguo 08/12/2014, 13:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: conflicto entre

No debes de usar el mismo id en más de un elemento en el mismo documento pues se trata de un valor único. En su lugar, utiliza clases.

Código HTML:
Ver original
  1. <label class = "ejemplo">Botón 1</label>
  2. <label class = "ejemplo">Botón 2</label>

Solo por curiosidad, ¿para qué quieres tener dos botones en el mismo documento que realicen lo mismo?

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 09/12/2014, 11:46
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: conflicto entre

Perdon por tardar en contestar, pero como programo por hobby (me gusta saber algo de todo), no tengo un horario estipulado

Voy a mirar entonces si con clases funciona igual

Te comento el script y el texto a mostrar de mi funcion la guarde en el pie de pagina, para que asi sea acesible desde todas las paginas


Cuando llamo desde una pagina a ese script (<type='submit' id='b6' >pulsa aqui</a>) todo funiona correctamente y el texto se muestra en una ventana emergente

El problema es cuando existen dos (<type='submit' id='b6' >pulsa aqui</a>) en la misma pagina


tengo ese enlace (<type='submit' id='b6' >pulsa aqui</a>) siempre en el pie de pagina
y aparte alguna pagina tiene que tener ese enlace (en un simple mensaje de Atencion al Cliente, y me gustaria que se mostrase asi emergiendo)


Es que no se muy bien como se suelen almacenar los scripts
Como tener un enlace que llame a un scripts, o sea como tengo visible este dialogo
sin tener que pegar el script y el texto en cada pagina que lo quiero mostrar

Código PHP:
Ver original
  1. <type='submit' id='b6' >pulsa aqui</a>
  2.      
  3.     script=>      $("#b6").click(function() {  $("#dialogo").dialog({width: 100, height: 14 }); });
  4.      
  5.     texto a mostrar =>    <div id='dialogo' >Muestro el dialogo por pantalla</div>
  #4 (permalink)  
Antiguo 09/12/2014, 11:54
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: conflicto entre

Como bien dijo Alexis88, el id no debe estar repetido ya que genera conflicto. El ID es un atributo único e irrepetible. Si necesitás dar funcionalidad a más de un botón, usa una clase:

Código HTML:
 <input type='submit' class='dialogMenu' /><a href="#">pulsa aqui</a>
    <input type='submit' class='dialogMenu' /><a href="#">pulsa aqui</a>
    <div id='dialogo'>Muestro el dialogo por pantalla</div>
    <script type="text/javascript">
        $(document).ready(function(){
            $(".dialogMenu").click(function() {  
                $("#dialogo").dialog({width: 100, height: 14 }); 
            });
        });
    </script> 
Saludos :)
  #5 (permalink)  
Antiguo 09/12/2014, 12:03
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: conflicto entre

De plano te digo que esto:

Código HTML:
Ver original
  1. <type='submit' id='b6' >pulsa aqui</a>

No es correcto, es decir, si deseas usar enlaces, utiliza correctamente la etiqueta <a>:

Código HTML:
Ver original
  1. <a href = "ejemplo.html">Enlace</a>

Como te dije, ya que deseas usar dos elementos con la misma funcionalidad, será mejor que les asignes la misma clase y no el mismo id pues es un dato que no debe de repetirse. El nombre de una clase sí puede utilizarse en más de un elemento.

Código HTML:
Ver original
  1. <label class = "ejemplo">Botón 1</label>
  2. <label class = "ejemplo">Botón 2</label>

Código Javascript:
Ver original
  1. $(".ejemplo").on("click", function(){
  2.     //Instrucciones
  3. });

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 10/12/2014, 06:47
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: conflicto entre

Tiene razón Alexis en lo de los input y los tags <a>!

Estaba tan concentrada en pasarte lo de la función que ni lo vi ^^
En cuanto al funcionamiento, es como puse en mi ejemplo o como luego puso Alexis.

Saludos
  #7 (permalink)  
Antiguo 10/12/2014, 11:52
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: conflicto entre

gracias Alexis88 y GeekGirl me fueron de gran ayuda

No sabia que es javascript los ids son unicos como ocurre en css

Lo de las etiquetas no os preocupeis era solo un ejemplo que puse para exponer mi duda, y al escribir me comi la etiquita de inicio

gracias GeekGirl por el script, ya que apoyas tu explicacion con algo de codigo, y eso siempre viene bien para entender mejor la duda



muchas gracias a los dos, saludos

Etiquetas: conflicto, funcion, javascript
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 22:27.