2013-10-12 63 views
0

例子:的onclick不調用JS功能(在任何瀏覽器)

<button id="banButton{$id}"onclick="deletePhoto({$id}, {$picture_path});">BAN {$id}</button> 

而且</body>標記之前:

<script type="text/javascript" src="../profile/theme/js/jquery.js"></script> 

<script type="text/javascript"> 

function deletePhoto(id, pic_path) { 
    alert("test"); 
    $.post("ajax.php", { toid: toid, pic_path: pic_path }); 
} 

$(document).ready(function() { 
    alert("test2"); 

}); 


</script> 

渲染HTML可能看起來像:

<button id="banButton508" onclick="deletePhoto(508, profile_photos/686733/1_4044.jpg);">BAN 508</button> <img src="../profile/pics/686725/2_3234.jpg" width="150" height="150"/> 

的當加載頁面時顯示「test2」警報,但是當點擊按鈕時,該功能不運行(警報甚至不顯示)。

任何想法爲什麼?

編輯:我現在已經包裹在引號picture_path,像

<button id="banButton{$id}" class="banButton" onclick="deletePhoto({$id}, "{$picture_path}");">BAN {$id}</button> 

仍然無法與此工作。

+0

有在控制檯中的任何錯誤?你也可以分享生成的HTML爲按鈕 –

+0

你可以打開瀏覽器控制檯,看看是否有任何錯誤 –

+0

把圖片路徑放在單引號是問題之一。另一個我發現感謝控制檯,你建議(將始終使用從現在起...),deletePhoto傳遞'id',而不是'toid'。在函數中將'id'參數更改爲''toid'。謝謝。 –

回答

1

貌似picture_path是一個字符串,用它括在''此外,如果在id值也是一個字符串,然後做同樣也

<button id="banButton{$id}" onclick="deletePhoto('{$id}', '{$picture_path}');">BAN {$id}</button> 
+0

謝謝 - 同時我還必須在deletePhoto函數中從'id'更改爲'toid'。 –

+0

@DanyP yes ....它會給出一個參考錯誤,因爲該變量未被引用 –

0

嘗試將您的功能與其他所有功能一起放置在文檔就緒功能中。

$(document).ready(function(){ 
function deletePhoto(id, pic_path) { 
    alert("test"); 
    $.post("ajax.php", { toid: toid, pic_path: pic_path }); 
} 
}); 
0

下面的代碼是工作的罰款

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Test</title> 
    </head> 

<body> 

<button id="banButton508" onclick="deletePhoto(508, 'profile_photos/686733/1_4044.jpg');">BAN 508</button> <img src="../profile/pics/686725/2_3234.jpg" width="150" height="150"/> 

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js "></script> 

<script type="text/javascript"> 

function deletePhoto(id, pic_path) { 
alert("test"+pic_path); 
$.post("ajax.php", { toid: toid, pic_path: pic_path }); 
} 

$(document).ready(function() { 
    alert("test2"); 

}); 


</script> 
</body> 

0

如果你使用的是jQuery,那麼爲什麼不應該用標準形式來操縱dom-aciton。

<button id="banButton{id}" data-id="{id}" data-image_url="{$picture_path}">BAN {id}</button> 

和JavaScript

function deletePhoto(id, pic_path) { 
    alert("test"); 
    $.post("ajax.php", { toid: toid, pic_path: pic_path }); 
} 

$(document).ready(function() { 
    alert("test2"); 

    $("button[id^='banButton']").click(function(){ 
     var id = $(this).data('id'); 
     var img_url = $(this).data('image_url'); 

     deletePhoto(id, img_url); 
    }); 

}); 
相關問題