自定义javascript函数中的未定义参数

时间:2011-06-29 15:39:22

标签: php javascript

我希望这是这个问题的正确位置。我有一个函数,它接受来自mysql数据库并存储在php变量中的两个参数。第一个参数是一个int,第二个参数是一个字符串。这些变量传递给我的javascript函数,但是当调用该函数时,第一个参数是正确的,但第二个参数是未定义的,我的浏览器会进入调试模式。

这是我调用javascript函数的php代码的一部分:

"<td><a href='javascript: confirmDelete(".$row['users_info_id'].", ".$row['firstname'].")' id='delete'>Delete</a></td>"

这是我的javascript函数:

function confirmDelete(id, dealer){
   alert(id + "<br />" + dealer);
   //var answer = confirm("Are you sure you want to delete " + dealer + "?");
   //if(answer == true){
      //window.location = "process_dealers.php?delete=" + id;
      //alert("Dealer has been deleted from the database!");                
   //}
   //else{
    //alert("Dealer has not been deleted from the database!");
   //}              
}

我已经对大部分代码进行了评论,因此我可以看到警报功能中返回的内容。 第一个参数返回正确的值,但第二个参数返回经销商的名称,但是未定义。我已经尝试了所有的事情并且昨晚花了很多时间试图解决这个问题。我非常感谢任何建议。

1 个答案:

答案 0 :(得分:3)

您的问题是,当您调用该函数时,需要引用字符串参数。 int参数工作正常,因为不需要引用int。

"<td><a href='javascript: confirmDelete(".$row['users_info_id'].", \"".$row['firstname']."\")' id='delete'>Delete</a></td>"

请注意$row['firstname']周围的引号。它未定义,因为没有引号,JavaScript将值视为变量名,而不是字符串。