JavaScript将字符串和整数从PHP传递到函数
问题描述:
我想通过一个字符串和一个整数到同一个函数,我有问题报价。我发现错误在echo $q->info
部分,我必须在这段代码上使用双引号。JavaScript将字符串和整数从PHP传递到函数
有人可以帮我写这个$q->info
,但得到真正的价值不是$q->info
?
到目前为止我的代码是
<td><a href="javascript:add(<?php echo $q->info?>,<?php echo $q->id?>)">Edit</a></td>
和js函数
function add(var,var2)
有人可以帮助我?
答
你有一个PHP变量。要将其转换为JavaScript文字的字符串表示形式,请使用json_encode
。为了安全地插入HTML属性值,请使用htmlspecialchars
。
<td><a href="javascript:add(<?php echo htmlspecialchars(json_encode($q->info)); ?>,<?php echo htmlspecialchars(json_encode($q->id)); ?>)">Edit</a></td>
这就是说,它会更好地编写代码遵循Progressive Enhancement和Unobtrusive JavaScript原则。
<td>
<form action="edit" method="post">
<input type="hidden" name="info" value="<?php echo htmlspecialchars($q->info); ?>">
<input type="hidden" name="id" value="<?php echo htmlspecialchars($q->id); ?>">
<input type="submit" value="edit">
</form>
</td>
然后是这样的:
document.querySelector('form').addEventListener("submit", function (evt) {
evt.preventDefault();
add(this.elements.info.value, this.elements.id.value);
});
使用_JSON_作为中介。它会为你节省很多头痛。 – 2014-09-28 17:39:48