0

例子:

<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”警报,但是单击按钮时,该功能不会运行(甚至不会显示警报)。

知道为什么吗?

编辑:我现在将图片路径用引号括起来,比如

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

仍然没有解决这个问题。

4

4 回答 4

1

看起来picture_path是一个字符串文字,''如果id值也是一个字符串,也用 in 括起来,然后也这样做

<button id="banButton{$id}" onclick="deletePhoto('{$id}', '{$picture_path}');">BAN {$id}</button>
于 2013-10-12T10:06:54.480 回答
0

尝试将您的函数与其他所有内容一起放在文档就绪函数中。

$(document).ready(function(){
function deletePhoto(id, pic_path) {
    alert("test");
    $.post("ajax.php", { toid: toid, pic_path: pic_path });
}
});
于 2013-10-12T10:06:53.757 回答
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>

于 2013-10-12T10:15:28.547 回答
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);
    });

});
于 2013-10-12T10:24:19.617 回答