我的JavaScript知识很浅薄,所以我无法在一些重要的谷歌搜索之后解决这个问题(当然在这里搜索)所以我希望这能让我了解我做错的原则,如以及提供解决方案。
我正在将一个布尔值复选框写入后端数据库,以跟踪是否应将记录保存到用户的应用程序“主页”。 PHP代码运行正常,当用户单击复选框时,OnClick事件会正确触发...
除了..每次加载页面时它也会触发。这意味着当您打开页面时,它会切换到与之前相反的位置。
这是它正在解雇的代码:
<form name="checkHomePage">
<?php
echo "<input ";
if (checkHomePage($_REQUEST['refnum']) == 1) {echo " checked='checked' ";}
echo " onClick='<?php echo ".toggleHomePage($_REQUEST['refnum']).";?>'";
echo " type='checkbox'>Show On My Home Page</input>";
?>
</form>
对于我的生活,我无法弄清楚为何在页面加载时触发onClick。在PHP函数中没有JS下游,它们也返回正确的值。
其他数据点:我只允许在此项目中使用最少的JavaScript,例如OnClick触发器。另外,我们内部只使用IE8和9。
提前谢谢。
答案 0 :(得分:2)
此处的问题是您发送了浏览器您的<?php echo
代码。请改用:
<form name="checkHomePage">
<?php
echo "<input ";
if (checkHomePage($_REQUEST['refnum']) == 1) {echo " checked='checked' ";}
echo " onClick='toggleHomePage(".$_REQUEST['refnum'].")'";
echo " type='checkbox'>Show On My Home Page</input>";
?>
</form>