Hola
 
Otra vez con el mismo problema. Ahora esto usando un manejador de eventos y es la primera vez que tengo 
la necesidad de pasarle dos argumentos a la función ModValor y uno a InicializarEventos. 
He de pasarle estos argumentos forzosamente ya que se trata de modificar los registros que el usuario estime oportuno 
Tal y como está ahora, por supuesto, no funciona.  
var ref=document.getElementById(sid); ---> 
No tiene propiedad
var objeto = document.getElementById('post_'+sid); ---> 
No tiene propiedad   Código PHP:
    addEvent(window,'load',inicializarEventos,false);
function inicializarEventos()
{
  var ref=document.getElementById(sid);
  addEvent(ref,'click',enviarDatos,false);
}
function enviarDatos(e)
{
  if (window.event)
    window.event.returnValue=false;
  else
    if (e)
      e.preventDefault();
  editar_msg(rastro, sid);
}
function ModValor (rastro, sid) {
var ajax=creaAjax();
var objeto = document.getElementById('post_'+sid);
var url="modificar.asp";
url=url+"?r="+rastro;
url=url+"&s="+sid;
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
         if (ajax.readyState==1 || ajax.readyState==2 || 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
} 
function addEvent(elemento,nomevento,funcion,captura)
{
  if (elemento.attachEvent)
  {
    elemento.attachEvent('on'+nomevento,funcion);
    return true;
  }
  else  
    if (elemento.addEventListener)
    {
      elemento.addEventListener(nomevento,funcion,captura);
      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="modificar.asp" id="782" name="782">Editar</a>
<br />
<div id="post_782">Contenido del registro sin modificar</div>
  Gracias