Javascript 通过<;a href>;-PHP

Javascript 通过<;a href>;-PHP,javascript,php,ajax,Javascript,Php,Ajax,我需要通过AJAX显示查询,要做到这一点,我必须匹配产品的ID。因此,我考虑通过AJAX执行POST方法,以允许执行查询 现在我想为AJAX做一个触发函数,这样信息将显示在页面本身上,而不是重定向到另一个页面。我该怎么做呢?我已经在不同的地方添加了Onclick函数,但是似乎没有任何效果 有什么建议吗 谢谢 echo '<a onclick="showUser('.$row['ID'].')" method = "POST" action= "viewComments.php">S

我需要通过AJAX显示查询,要做到这一点,我必须匹配产品的ID。因此,我考虑通过AJAX执行POST方法,以允许执行查询

现在我想为AJAX做一个触发函数,这样信息将显示在页面本身上,而不是重定向到另一个页面。我该怎么做呢?我已经在不同的地方添加了Onclick函数,但是似乎没有任何效果

有什么建议吗

谢谢

 echo '<a onclick="showUser('.$row['ID'].')" method = "POST" action= "viewComments.php">Show Comments</a>';

<script>
function showUser(str) {
  if (str=="") {
    document.getElementById("txtHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("Post","viewComments.php?q="+str,true);
  xmlhttp.send();
}
</script>
echo“显示评论”;
函数showUser(str){
如果(str==“”){
document.getElementById(“txtHint”).innerHTML=“”;
返回;
} 
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
}
}
open(“Post”,“viewComments.php?q=“+str,true”);
xmlhttp.send();
}
从链接中删除“href=”“”。他们应该是这样的:

<a Onclick="showUser()" >Show Comments</a>
显示注释
希望这有帮助!:)

编辑:这是我使用ID调用“showUser()”的方式:

echo '<a onclick="showUser('.$row['ID'].')" >Show Comments</a>';
echo“显示评论”;
试试这个

<a id="showUser">Show Comments</a>

$('#showUser').click(function(){
  //your ajax code goes here
  return false;
});
显示注释
$('#showUser')。单击(函数(){
//这里是您的ajax代码
返回false;
});

我只是不喜欢html中的onClick()事件。这也是不好的做法(参见)

最好将事件绑定到javascript中的html元素,而不是html。 像这样:

Html:

演示:


你有一个函数需要一个参数:
showUser(str)
,但是当你调用它时,你没有为这个参数提供值。Svensson。谢谢,它确实有帮助。我也可以和你核实一下,这是我发布我的价值(ID)的正确方式吗?你是什么意思?你在隐藏区域的身份证?是的。就是这个。您认为呢?删除href属性可能会导致某些浏览器应用不同的默认样式。最好在函数中添加一个
return false
,或者在
onclick
属性本身中添加一个
return false,这将取消单击的默认操作。不过,样式问题可以通过CSS轻松解决。当然,另一种方法是使用元素,这需要jQuery。他使用的是常规javascript。
<a href="http://echo.jsontest.com/key/value/one/gotIt" id="myLink" >Show Comments</a>
function addEventListener(el, eventName, handler) {
  if (el.addEventListener) {
    el.addEventListener(eventName, handler);
  } else {
    el.attachEvent('on' + eventName, function(){
      handler.call(el);
    });
  }
}

var el = document.getElementById('myLink');
addEventListener(el, 'click', showUser);