以下是我在单击屏幕上的按钮时要运行的脚本。基本上使用AJAX查询我的数据库以获得更多结果。问题是,我对Javascript很新,这个脚本在页面加载时运行,而不是在我点击应该调用它的按钮时运行。
<script type="text/javascript">
function next_ten_results()
{
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("main").innerHTML=xmlhttp.responseText;
}
}
var page = "<?php echo $page_count; ?>";
alert('the city of ' + page + '!');
var name = "<?php echo $sql_name; ?>";
var rest_location = "<?php echo $sql_location; ?>";
xmlhttp.open("GET","another_ten_results.php?location="+rest_location+"&rest_name="+name+"&page="+page,true);
xmlhttp.send();
}
</script>
感谢您的阅读!我确信我犯了一个简单的错误,就像我需要等待文件准备好或者其他什么,但正如我所说,我非常新。任何帮助和建议表示赞赏。
干杯!
编辑:在需要的情况下调用此函数的代码...即使代码在没有它的情况下运行:
if($num_rows > 9){
echo '<onclick="next_ten_results_NOT()" class="button next" id="button_next" >Page 2</a>'; }
编辑(2):为了将来参考,问题(如上所述,Cody)是我在onclick事件之前忘记了<a...
。这就是导致代码以某种方式运行的原因。更改后,javascript查询按计划工作。错误实际上在HTML中。
干杯!
答案 0 :(得分:0)
对于那些正在寻找答案的人:
调用javascript函数的HTML无效。没有以<onclick ...
开头的标记。我们可以通过结束标记</a>
来判断这应该是一个链接。
用<onclick
替换<a onclick
可以解决问题。
答案 1 :(得分:0)
将我的答案移到答案而不是最初的评论:
你正在回复'<onclick="next_ten_results_NOT()" class="button next" id="button_next" >Page 2</a>';
正在创建一个名为的标签。
你错过了<a
,这意味着它是一个无效的标签。