将这个数据库结果传递给javascript函数的正确方法是什么?
What's the right way to pass this database result into a javascript function?
我从"title"
字段抓取字符串并将其传递给addText
javascript函数。我有麻烦传递字符串正确虽然。——>
while ($row = mysql_fetch_assoc($part_result)){
echo "<div id ='link' onclick = 'addText("$row['title']");'>" . $row['title'] ."</div>";
}
产生语法错误。Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';'
谢谢你的帮助!
echo "<div id ='link' onclick = 'addText('"".$row['title']."'");'>" . $row['title'] ."</div>";
您的错误来自于您没有正确地将静态字符串连接到所有地方的变量。
echo "<div id ='link' onclick = 'addText("$row['title']");'>" . $row['title'] ."</div>";
应该echo '<div id="link" onclick="addText( ''' . $row['title'] . ''' );">' . $row['title'] . '</div>';
此外,由于$row['title']
在HTML attr中使用,因此应该对其进行实体化以避免引号冲突:
echo '<div id="link" onclick="addText( ''' .htmlentities( $row['title'], ENT_QUOTES ) . ''' );">' . $row['title'] . '</div>';
对于最干净的代码,我会使用printf()
:
printf( '<div id="link" onclick="addText( ''%s'' );">%s</div>', htmlentities( $row['title'], ENT_QUOTES ), $row['title'] );
试试这个:
echo '<div id="link" onclick="addText('''.$row['title'].''')">'.$row['title'].'</div>';
在addText()
之后不需要;
使用json_encode
传递您的标题。这将对它进行编码,以防其中有单引号或双引号(或任何其他不良字符)。
你的错误也来自变量本身。因为你使用了双引号,所以用大括号把变量括起来:
addText('{$row['title']}');
相关文章:
- 如何确保函数/方法参数为certian类型
- Javascript中对象中的函数方法
- Object.assign(),函数方法和内存使用
- 我应该在原型上还是在新创建的实例上调用构造函数方法
- Angular promise回调不是在构造函数方法内部触发,而是在对象文本方法中触发
- 如何使用 Karma、Jasmine 和 Istanbul 指定测试应涵盖哪些函数/方法
- 在ES2015中定义一个类,构造函数方法是什么以及为什么它是必不可少的
- 如何调用通过它传递不同 ID 的函数方法
- Sencha ExtJs 为什么从“构造函数”方法返回“this”
- 这个 JavaScript 函数方法调用了什么
- 如何在 javascript 中从子原型调用父类的构造函数方法
- 是否仍可访问被覆盖的函数/方法
- 在构造函数之外更改 JavaScript 中的构造函数方法
- 这种实例化构造函数方法的风格是什么
- 如何在 JavaScript 中使用继承与构造函数方法一起使用 返回具有私有属性的对象文本
- 我的javascript构造函数方法以文本形式返回整个方法,而不是预期的返回值
- 如何在事件中将变量传递给构造函数方法
- 如何限制用户在ui ace编辑器中只能编写一个javascript函数(方法)
- 打印任何java应用程序的函数/方法调用序列
- 如何在jQuery语句中使用Javascript构造函数方法