Alejandro Rojas wrote:
No encontre ninguna solucion para esto:

    <select onchange="cargaXML(this.value)">
            <option value="">Elige...</option>
            <option value="001.html">001</option>
            <option value="002.html">002</option>
            <option value="003.html">003</option>
        </select>

        <a href="004.html" onclick="cargaXML('004.html'); return
false;">004</a>
----------------------------------------------------------------------------------------------------------
Como dejo estos eventos de javascript para que puedan validar?
Hacés una clase para los elementos que tengan que tener el JavaScript y despues hacés una funcion onLoad para reemplazar las propiedades intrusivas. De esta forma, si el usuario no tiene JS, el funcionamiento por html es el que opera. Sin embargo el funcionamiento de un onchange no lo vas a poder reemplazar sin que el usuario envie el formulario. Asi que además del código que te paso, te recomendaría poner un boton de submit para el formulario y, si el usuario tiene JS, lo ocultás con js: document.getElementById("boton").style.display = "none";

Para reemplazar los atributos podés usar el siguiente código:
<script>
/*Hay mejores métodos para usar los atributos onload y onclick, pero no son enteramente cross-browser, este método no te permite agregar varios eventos, pero como no te hace falta, es suficiente */
window.onload = reemplazar_cargaxml;

function reemplazar_cargaxml() {
   as = document.getElementsByTagName("a");
   for (a in as) {
      as[a].onclick = "cargaXML("+as[a].href+");";
      as[a].href = "";
   }

   sels = document.getElementsByTagName("select");
   for (sel in sels) {
      sels[sel].onchange = "cargaXML(this.value)";
   }
}
</script>

   <select class="cargaxml">
           <option value="">Elige...</option>
           <option value="001.html">001</option>
           <option value="002.html">002</option>
           <option value="003.html">003</option>
       </select>

       <a href="004.html" class="cargaxml">004</a>

Espero que te sirva!

--
Martin Szyszlican
www.y.net.ar







___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a