我有一个简单的脚本无法正常工作或按预期工作。
<script>
function modify_val(target, valeur)
{
$(target).val(valeur)
}
</script>
<a href="javascript:modify_val('#type1','$row->movie2');">$row->movie2 ($row->counter relations)</a>
javascript工作正常,因为目标输入值被修改但页面在点击后被“重定向”,页面包含:
[object Object]
为什么有印刷品?我不明白...... OnClick方法表现相同。 href或OnClick =“javascript:$('#type1')。val('$ row-&gt; movie2');”行为也一样。
你有什么想法吗?
PS:页面处于https模式。
答案 0 :(得分:1)
<a href=\"javascript:$('#type1').val('$row->movie2'); void(0);\">
有效...猜猜是伴侣建议返回是强制性的
答案 1 :(得分:1)
事件处理程序的返回值确定是否也应该发生默认的浏览器行为。
<script>
function modify_val(target, valeur)
{
$(target).val(valeur);
return false;
}
</script>
将您的HTML更改为。我建议你使用onClick
属性
<a href="#" onClick="return modify_val('#type1','$row->movie2');">$row->movie2 ($row->counter relations)</a>
答案 2 :(得分:0)
您可能需要通过传递事件对象并调用preventDefault()
或从内联事件处理程序返回false
来停止链接的默认操作。
function modify_val(target, valeur) {
$(target).val(valeur)
return false;
}
有关从内联事件处理程序返回false
的信息,请参阅此帖子:What's the effect of adding 'return false' to a click event listener?。
对于最干净的代码,我建议不要使用内联事件处理程序,只需使用jQuery(您似乎已经可用)来安装click事件处理程序并使代码和HTML更加分离(通常被认为是一种好习惯)。 jQuery还允许您从事件处理程序返回false
以防止默认行为。
有关保持HTML和Javascript分开的详细信息,请参阅Unobtrusive Javascript上的这篇文章。