2012-09-07 52 views
0

是我的剧本,我想,当我点击屏幕上的按钮来运行。基本上使用AJAX查询我的数据库以获得更多结果。问题是,我对JavaScript很新颖,并且该脚本在页面加载时运行,而不是当我点击应该调用它的按钮时运行。为什么我的JavaScript脚本在页面加载时运行,而不是在onclick上运行?所以下面


<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>'; } 

EDIT(2):以供将来参考,问题(如科迪描述上面)是我在onclick事件之前忘记了<a...。这是导致代码以某种方式运行的原因。改变之后,javascript查询按计划工作。错误实际上是在HTML中。

干杯!

+7

'next_ten_results'是函数名称,但您调用'next_ten_results_NOT' – Musa

+1

我没有在您的代码中看到任何会导致它在页面加载时执行的内容。我怀疑是你不小心在页面上的某个地方叫它*。我能想到的唯一的另一种可能性是你的PHP发布了不好的数据。例如,如果$ PAGE_COUNT是字符串'“;}()',则该函数将得到执行 –

+1

'回声“<的onclick = ”!next_ten_results_NOT()“ 类= ”按钮旁边“ ID = ”button_next“>页面2 ';'正在创建一个名为''。你错过了' temporalslide

回答

0

对于那些谁访问这个寻找一个答案:

你的HTML它调用javascript函数是无效的。没有标签以<onclick ...开头。我们可以通过结束标记</a>来判断这应该是一个链接。

<a onclick更换<onclick会解决这个问题。

0

移动我的回答对一个答案,而不是它本来的评论:

你呼应'<onclick="next_ten_results_NOT()" class="button next" id="button_next" >Page 2</a>';这是创建一个名为标签。 您错过了<a,这意味着它是无效标签。

相关问题