2012-09-07 84 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,這意味着它是無效標籤。

相關問題