Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/09/2008, 09:34
Avatar de jseros
jseros
 
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: pequeñas dudas para empezar...

Hola anlhp.

No del todo. Cualquier navegador va a darle prioridad a la ación por defecto del vinculo que es ir a la dirección de su atributo href.

Te voy a mostrar 2 opciones:

Código HTML:
<a href="cosa.php" onclick="return funcion()">Click</a> 
donde la función tiene el siguiente código:

Código PHP:
function funcion()
{
  
//código cualquiera

  
return false;

Como puedes ver el onclick tiene como valo return funcion(). y la funcion como tal devuelve false. lo que va a suceder es que gracias a esta combinación se le dice al navegador que nunca se hizo clic sobre el vínculo y solo ejecuta la la función que deseemos.

Hay otra opción más accesible, usable y debería ser la que utilizaras. Es un poco más compleja pero espero que me comprendas algunas partes que son clave:

Código HTML:
<!--cambio el atributo onclick por un id-->
<a href="cosa.php" id="vinculoafuncion">Click</a> 
Código javascript:

Código PHP:

//la función sigue igual
function funcion()
{
  
//código cualquiera

  
return false;
}


//window.onload lo que hace es ejecutar una función
//cuando se termine de cargar la página. Es la versión no invasiva de onload
window.onload = function() {
    
/*
cuando se cargue la página asigne al evento click del  vinculo con id "vinculoafuncion" una funcion. Osea que cuando se haga clicl sobre el vinculo ejecute la funcion.

*/
   
    
document.getElementById"vinculoafuncion" ).onclick = function(){
       
/*
hago el llamado a la funcion y cancelo el evento del click 
ya que nuestra funcion devolvera false
*/
       
return funcion();
   
   }

Espero no ir muy rápido, puedes usar cualquiera de las dos, igual ambas son accesibles pero como se que eres nuevo sería bueno que usaras la primera pero que tuvieras en cuenta la segunda.

Exitos y si no comprender o necesitas más ayuda no dudes en consultarnos