![]() |
con Input type="button" SI va, con enlace NO... Por qué ? Buenas :) Bueno esta mañana he estado probando cosillas con Ajax... soy nuevo en esto de Ajax... De momento me ha salido hacer un request con responseText correctamente y mostrarlo.... Pero tengo un dilema :S Por qué me sale con input que llama a la funcion, pero en cambio no sale si esto lo hago desde un enlace ? :S Me explico... Uso estos 2... Código: <input type="button" value="mostrar" onclick="q(this.value)" />No comprendo... estoy mirando ejemplos, a ver si encuentro caso de estudio... pero hasta entonces agradeceria una ayudita. |
Hola: Simplemente los enlaces no tienen atributo value (al menos de forma convencional) Saludos :arriba: |
Cuando ejecutas un evento sobre un enlace, no se deshabilita el comportamiento por defecto (en el caso de un enlace es, claro está, ir a esa página), por lo que tu código: Código: <a href="index.php?q=mostrar" onclick="q(this.value)">mostrar</a>Para deshabilitar el comportamiento por defecto del enlace debes devolver false en la acción del onclick, es decir: Código HTML: <a href="index.php?q=mostrar" onclick="q(this.value);return false;">mostrar</a>Código HTML: <a href="index.php?q=mostrar" onclick="return q(this.value);">mostrar</a>Código: function q(...) { |
Eso que dijo caricatos también es cierto, no me di cuenta |
Por cierto, esto es un tema más adecuado para el foro de javascript que para este ;) |
Wow... Gracias por la colaboración :) Antes de entrar aqui de nuevo... me di cuenta que haciendolo así también rula... Código: <a href="#" value="personal" onclick="q(this.value)">Personal</a>De nuevo muchas gracias a los dos... |
Ufffff.... los 3 metodos funcionan. Pero solo me funciona en Internet Explorer. Me pregunto si será del XmlHttpRequest o de como interpreta firefox y internet explorer esos enlaces.... :S los enlaces los teneis arriba... El objeto XmlHttpRequest os lo pego ahora: Código: // Declaramos el objeto XmlHttpRequestQue opinais ? |
Estás usando el mismo objeto XmlHttpRequest? si es así entonces cuando se hace click en dos links la primera petición se pierde, pero no se porque no continúa la otra. Podrías mostrarnos el código completo para ver. |
Si que puedo ;) Ahora mismo. Primero el XHTML (index.php) #SC_b = Los enlaces #SC_c = Donde se mostrarán los datos mediante ajax ! Código: <!-- cargo el ajax.js en el head -->Si... uso para todo el mismo objeto XmlHttpRequest... está mal ? Código: // Funcion de prueba con nombre cutre, ok ? :PEste codigo.... muestra contenido generico.... pero bueno seria suficiente para hacer funcionar los 3 primeros enlaces.... despues seria suma y sigue Código: <?phpDe mientras.... seguiré intentandolo por mi parte a ratos... de deskizio a deskizio xD |
Hola: Recuerda que no tienen values los enlaces... además el onclick que devuelve false se cancela, pero de otra forma se realiza el enlace... y se pierde la consulta ajax. Una línea que podría funcionar: <span style="cursor: pointer" onclick="return q('weblog')">Weblog</span> Saludos :arriba: |
Respecto a que el tag <a> no tenga value... no estaria yo del todo seguro... Cierto es que al menos en XHTML 1.1 no existe este "Atributo"... Pero entonces... por que me funcionaba ? esta funcion sin un valor no funciona... yo diria que el this.value si lo acepta... ( otra cosa es que posiblemente este metodo este deprecado y sea mejor ir dejandolo... ) Por el momento... lo haré tal como dijiste Caricatos... solo que seguiré usando el tag <a> para hacer enlaces como creo que es apropiado hacerlo... Muchas gracias... así funciona en ie, mozilla, firefox y ¡¡Opera!! jijiji... Código: <a onclick="q('personal');">Personal</a>De nuevo gracias :) me tais ayudando un webo :) |
Cita:
Si pones: <a value="enlace" >puedes consultar el atributo value del tag, y en algunos navegadores te devolverá el valor que se ve, pero en otros tendrás que usar el método getAttribute, ya que esa es la forma de leer cualquier atributo que no tenga una forma convencional de lectura (href, title, className, id, NAME, offetTop...) Pero es posible que solo se pueda leer ese atributo siempre que se haya creado con la otra forma convencional de creación: setAttribute. He leído y trabajado mucho con el DOM como para poder afirmar algunas cosas como el primer mensaje... pero si lo pones en duda será muy difícil ayudarte (en principio no da gana ayudar a quien desconfía de tus respuestas) Lo de usar el tag a porque dices que es un enlace... bueno, la respuesta sería simplemente una especie de copia de lo que puse anteriormente. Saludos :arriba: |
Omggg no lo decia con ninguna mala intención de verdad... solo que, me preguntaba como funcionaba si no habia ningun valor... (ya que si no se le pasa un valor... es totalmente imposible que funcione esa función) En serio, mi intención era mas la de aprender que la de desconfiar, ni estár a la defensiva ni esas cosas, de verdad. Ahh y Es verdad que lo maquillaste, sorry... Bueno, espero que aclaradas las discrepancias :( también venia a aportar algo mas, a ver si alguno entiende que pasa en esto que intento hacer... Es que me he dado cuenta, que el internet explorer despues de haber hecho un click en alguno de los enlaces en la barra de estado salta un error de "js" Supongo será un error generico muy tipico del ms windows :P... pero... dice que es en la linea 4 del archivo index.php... donde está nada mas y nada menos que esto... Código: <script src="ajax.js" type="text/javascript"></script>No sé... pero a mi no me dice nada... he estado revisando el ajax.js (lo teneis en un reply mas arriba) pero no veo nada erroneo... no sé por donde cogerlo ya... Bueno lo dicho de nuevo... sorry y dejar bien claro que mi intención es solo aprender... no meterme con nadie... ni ofender ni ofenderme... Saludos |
Hola: No te preocupes por la regañina (a veces nos puede pasar) Te recomiendo que te acostumbres a probar tus códigos con mozilla (firefox, por ejemplo) o también podría servirte opera... Ambos tienen una "consola javascript" que indica mucho mejor cuál es el error. Saludos :arriba: |
Ok Caricatos... ;) Lo he probado con firefox, mozilla y con opera, con los dos primeros dice lo siguiente... Código: Error: syntax errorCódigo: YoGuuu //Saludos |
Siiiiiiiiiiiiiiiiiiiiiiiiiiiiii Ya lo he conseguido !!!!!!!!!! Muchisimas graciass !!! Valida XHTML 1.1, CSS, y funciona tanto en IE, Mozilla, Firefox y Opera :) El error estaba en el objeto XmlHttpRequest que tenia hecho(joder, ya es mala suerte... me falla el trozo generico del codigo :P )... la solucion... declarar una variable con "var variable;"... y usarla cada vez que se inicializa la condicion de crear el objeto para cada navegador !!! ( cosa que si javascript te obligase a hacer... no pasaria... ) Código: function nuevoAjax() {Postearé un mini tuto de como switchar datos mediante links... un mini tuto para newbies como yo... :) |
| La zona horaria es GMT -6. Ahora son las 06:26. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.