通过<a href=""> - PHP</a>触发AJAX功能

时间:2014-05-17 14:11:31

标签: javascript php ajax

我需要通过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>

3 个答案:

答案 0 :(得分:1)

从链接中删除'href =“”'。这就是他们应该看的样子:

<a Onclick="showUser()" >Show Comments</a>

希望这有帮助! :)

编辑:这就是我用“ID:

”调用“showUser()”的方法
echo '<a onclick="showUser('.$row['ID'].')" >Show Comments</a>';

答案 1 :(得分:0)

我只是不喜欢html中的那些onClick()事件。这也不是一种好的做法(见Why is using onClick() in HTML a bad practice?

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

HTML:

<a href="http://echo.jsontest.com/key/value/one/gotIt" id="myLink" >Show Comments</a>

使用Javascript:

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);

演示: http://jsfiddle.net/dgrCw/1/

只是我的两分钱......

答案 2 :(得分:-1)

试试这个。

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

$('#showUser').click(function(){
  //your ajax code goes here
  return false;
});