JAVASCRIPT:传递的参数是"未定义"

时间:2014-10-11 13:16:33

标签: javascript php

我创建一个页面,该页面应该从数据库中读取数据,将其显示为表格,并允许逐行编辑条目(使用AJAX调用)。以下是问题出现的简要代码片段 -

Javascript:

function editParam(bname, button) {
 alert(bname); //this part doesn't happen, the error on console comes up before it
 tr = button.parentNode;
 while (tr && tr.nodeName.toUpperCase() !== "TR" && tr.nodeName.toUpperCase() !== "BODY") {
    tr = tr.parentNode;
 }
 if (!tr || tr.nodeName.toUpperCase() !== "TR") {
    return; 
 }
 //some more code
}

PHP:

//get $row_users['Name']
while ($row_users = mysqli_fetch_array($results)) {
 echo "<form method='POST'> //some <tr><td></td></tr>
 <button onclick='editParam(".$row_users['Name'].", this)'>Edit</button>
 </form>";
}

列名称中的数据类似于&#34; B1&#34;,&#34; C2&#34;等。

按钮时出现错误:未定义B1。

在运行其他文本或数字的代码时,它运行正常。所以我理解我的问题与数据类型有关。但是,我不知道如何解决同样的问题。

非常感谢任何建议,谢谢!

1 个答案:

答案 0 :(得分:1)

您需要在$row_users['Name']周围添加引号,否则它将被解释为JS变量。

"<button onclick='editParam(\"" . $row_users['Name'] . "\", this)'>Edit</button>";