PHP:将变量传递给javascript方法
PHP: pass variable to javascript method
我有什么:
尝试以这样的方式将变量传递给javascript方法:
$name = (string) $form->attributes()->name;
$show = 'show("'.$name.'")';
echo '<input type="radio" onclick="'.$show.'">'.$form['description'].'<br />';
print_r($show); // show("feedback")
...
<script>
function show(name) {
//DEBUG HERE!
...
}
</script>
什么问题:
在浏览器的调试器中,我可以看到我已经将整个表单传递到 show 方法中(意味着参数名称等于整个表单)。
问题:
为什么会这样?如何传递给js方法仅表单的名称?
我认为
您只是缺少一些引号:
echo '... onclick="show('"'.$name.''")> ...';
请注意我放在$name
周围的'"
。在你的代码中,如果$name = "Foo"
,它将写入show(Foo)
而不是show("Foo")
。
我认为您没有正确转义字符串以供JS函数使用。尝试像这样转义字符串:
$name = 'feedback';
$description = 'description';
//like this
echo '<input type="radio" onclick="show('. "'" . $name . "'" . ')">' . $description . '<br/>';
// or like this
echo "<input type='"radio'" onclick='"show(' . $name . ')'">" . $description . "<br/>";
<script>
function show(name) {
alert(name);
}
</script>
我希望这有所帮助。
相关文章:
- 从Javascript方法返回全局变量
- 简单的JavaScript方法链接
- 如何为javascript方法放入jquery确认对话框
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在类外重写Javascript方法,使用默认行为
- 使用 JavaScript 方法滚动
- 如何从窗体调用外部javascript方法
- 使用c#在Web服务器上运行JavaScript方法
- 如何从角度 js 调用 javascript 方法
- 在Node.js中,我在哪里可以看到JavaScript方法的源代码,例如hasOwnProperty
- 简单的javascript方法问题
- iframe未执行Javascript方法(PHP)
- Javascript 方法看不到对象变量
- 从HTML中的另一个文件访问javascript方法
- 如何测试只在闭包范围中可见的javascript方法
- 将php表转换为angularjs javascript方法
- 使用ScriptManager.RegisterStartupScript从代码隐藏调用javascript方法
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- Java eqivalent method of “splice(a,b,..)“在 JavaScript 方法中
- 在客户端 Javascript 方法之后运行服务器方法