Hace unos días os lancé una pregunta sobre Javascript y me ayudásteis mucho, ahora tengo otro problemilla
Tengo un foro phpBB en el que estoy implantando AJAX para que cada una de sus páginas, se carguen dentro de un DIV llamado 'barent'. Para ello tengo ya definida la función javascript que es la siguiente:
Código:
Y para aplicar la función a los enlaces lo hago así:<script language="javascript"> // direccion del sitio web; var site_address = 'http://foro.guillermocampra.com'; // funcion que determina si el enlace es local e invoca AJAX; function localLink(evt){ var link = evt.target || evt.srcElement; if(/^a$/i.test(link.nodeName) && (new RegExp('^' + site_address)).test(link.href)){ llamarasincrono(link.href, 'barent'); try{ evt.preventDefault(); }catch(error){ evt.returnValue = false; }}} // aqui se usa el objeto document para aplicar el evento a todo el documento; // pero tambien puede ser a uno o varios elementos de tu preferencia; try{ document.addEventListener('click', localLink, false); }catch(e){ document.attachEvent('onclick', localLink); } </script>
Código:
Tengo un código aparte que me dio ZeroKilled muy amablemente (http://www.forosdelweb.com/f13/aplicar-funcion-javascript-para-todos-enlaces-778401/) que aplica esa función a todos los links de las páginas automáticamente, aunque por desgracia y no se por qué, no a los botones. De esta forma cada vez que relleno un formulario de escribir un nuevo post y se hace click en el botón submit la página resultante que se abre (en este caso la de "Este mensaje se ha publicado correctamente...") no lo hace dentro del div 'barent'.<a href="javascript:llamarasincrono('pagina.html', 'barent')">Enlace</a>
He probado a llamar la función directamente en el botón con el evento onClick y onSubmit así:
Código:
o así:<input onSubmit="llamarasincrono(link.href, 'barent');" type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="{L_SUBMIT}" />
Código:
Pero ninguna me ha resultado.<input onSubmit="llamarasincrono('posting.php', 'barent');" type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="{L_SUBMIT}" />
No sé mucho de Javascript ni de AJAX pero seguramente tenga fácil solución.
Muchas gracias de nuevo por vuestra ayuda.