onClick不能在codeigniter中工作

时间:2017-05-22 06:51:35

标签: javascript php jquery codeigniter-3

当我尝试在php页面中使用onClick时:

<a href="javascript:void(0);" onClick="deleteCourse('<?php echo $row->courseId;?>');" class="delete">Delete</a>

在js页面中,我用过:

function deleteCourse(course_id){
    alert('trying to delete course');
 }, 

它会显示错误,如

  

未捕获的ReferenceError:未定义deleteCourse

在HTMLAnchorElement.onclick但是当我在同一页面上使用onClick时它正常工作。

courselist.php

<?php if($deleteRole == 1){?>
    <a href="javascript:void(0);" onClick="deleteCourse('<?php echo $row->courseId;?>');" class="delete">Delete</a>
<?php }?>

user.js的

function deleteCourse(course_id){
   alert('trying to delete course');
}

正确包含了user.js,我在页面源中看到了它。

2 个答案:

答案 0 :(得分:2)

<a href="javascript:void(0);" onClick="deleteCourse('<?php echo $row->courseId;?>');" class="delete">Delete</a>

标记的意图是重定向。如果您没有重定向,为什么要使用标签,而是建议您使用按钮或li标签(如果在菜单中使用)

我正在改变属性。我们选择jquery的原因是分离HTML和JS代码。如果您使用的是jquery,请不要在HTML中使用javascript代码。(建议,您可以省略)

<a href="javascript:void(0);" data-courseId="<?php echo $row->courseId;?>" class="delete">Delete</a>

在user.js文件中(在jquery文件之后加载)

$(document).on("click", ".delete", function(event){
 event.preventDefault();
 event.stopPropagation();
 courseId = $(this).attr("data-courseId");
 alert('trying to delete course');
//your logic for deleting the course.
});

答案 1 :(得分:0)

 <a href="javascript:void(0);" onClick="deleteCourse(<?php echo $row->courseId;?>);" class="delete">Delete</a>

在将整数传递给JS函数

时,您不需要使用引号