Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2008, 05:57
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Evitar redirección desde vinculo

Hola

La página tiene algunos vinculos, al cliquear sobre alguno de ellos, se ejecuta el Ajax. El problema está en que si la página se llama mostrar.html, al pinchar en el vinculo me lleva a mostrar.html#. ¿Como puedo evitar que se ejecute la redirección?

Código PHP:
function addEvent(elemento,nomevento,funcion)
{
  if (
elemento.attachEvent)
  {
    
elemento.attachEvent('on'+nomevento,funcion);
    return 
true;
  }
  else  
    if (
elemento.addEventListener)
    {
      
elemento.addEventListener(nomevento,funcion,false);
      return 
true;
    }
    else
      return 
false;
}

function 
creaAjax() {
var 
objetoAjax=null;
    try
      {
  
// Firefox, Opera 8.0+, Safari
      
objetoAjax=new XMLHttpRequest();
      }
    catch (
e)
      {
  
// Internet Explorer
          
try
            {
            
objetoAjax=new ActiveXObject("Msxml2.XMLHTTP");
            }
          catch (
e)
            {
            
objetoAjax=new ActiveXObject("Microsoft.XMLHTTP");
            }
      }
    return 
objetoAjax;

Código:
<a href="#" id="782">Modificar</a>
<br>
<a href="#" id="781">Modificar</a>

<br><br><br>
<div id="post_782"></div>
<div id="post_781"></div>
Código PHP:
var ref = new Array(781,782);
for (var 
0ref.lengthi++) {

  
addEvent(document.getElementById(ref[i]),'click',function(m) {
           
var 
ajax=creaAjax();
var 
objeto document.getElementById('post_'+this.id);
ajax.open ('GET''modificar.asp?sid='+this.idtrue);
ajax.onreadystatechange = function() {


if (
ajax==null){
        
alert ("Tu navegador web no soporta AJAX!");
        return;
}



         if (
ajax.readyState==|| ajax.readyState==|| ajax.readyState==3) {
                                      
objeto.innerHTML "Cargando .......";
         }
         else if (
ajax.readyState==4){
                   if(
ajax.status==200){

                                             
objeto.innerHTML += ajax.responseText;
                   }
                   else if (
ajax.status==404)
                                             {

                            
objeto.innerHTML "La dirección no existe";
                                             }
                                             else
                                             {
                            
objeto.innerHTML "Error: " ajax.status;
                                             }
                                    }
                  }
         
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
         
ajax.send(null);
         return
})    

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />