我希望这是提出这个问题的正确位置。我有一个函数,它接受两个来自 mysql 数据库并存储在 php 变量中的参数。第一个参数是 int,第二个参数是字符串。这些变量被传递给我的 javascript 函数,但是当调用该函数时,第一个参数是正确的,但第二个参数未定义,并且我的浏览器会进入 Debug模式。
这是我的 php 代码调用 javascript 函数的一部分:
"<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!");
//}
}
我已经注释掉了大部分代码,以便我可以看到警报函数中返回的内容。 第一个参数返回正确的值,但第二个参数返回经销商的名称,但未定义。我已经尝试了一切,昨晚和今天早上都在试图解决这个问题。如果有任何建议,我将不胜感激。
最佳答案
您的问题是,当您调用该函数时,需要引用字符串参数。 int 参数工作正常,因为整数不需要引号。
"<td><a href='javascript: confirmDelete(".$row['users_info_id'].", \"".$row['firstname']."\")' id='delete'>Delete</a></td>"
请注意 $row['firstname']
周围的引号。它是未定义的,因为如果没有引号,JavaScript 会将值视为变量名,而不是字符串。
关于php - 自定义 javascript 函数中未定义的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6523343/