问题描述
|
我正在处理一个电子邮件系列注册表单,该表单需要根据用户来自的页面预先选中一个复选框。
看起来该表单已设置为跟踪用户来自哪个页面,因为它包含以下内容:
<input type=\"hidden\" name=\"referring_page\" value=\"<?php if (isset($_POST[\'referring_page\'])) { echo $_POST[\'referring_page\']; } else { echo $_SERVER[\'HTTP_REFERER\']; }?>\" />
所有复选框如下所示:
<div class=\"emailOption\"><input type=\"checkbox\" name=\"seo\" id=\"seo\" value=\"seo\" /> SEO Series</div>
<div class=\"emailOption\"><input type=\"checkbox\" name=\"ppc\" id=\"ppc\" value=\"ppc\" /> PPC Series</div>
我想根据参考页面url将属性checked = \“ yes \”添加到单个复选框。我是PHP和jQuery的新手,但该网站同时使用了两者,因此两者都可以解决。
非常感谢您的帮助!
解决方法
由于您需要进行预检查,因此我建议您使用PHP。也就是说,如果您已经具有逻辑并可以访问服务器端代码,则无需在页面加载后使用JavaScript进行此操作。
类似于隐藏的输入:
<div class=\"emailOption\">
<input type=\"checkbox\" name=\"seo\" id=\"seo\" value=\"seo\"<?php echo (/*your logic goes here */) ? \'checked=\"checked\"\' : \'\'; ?> /> SEO Series
</div>
,您可以在这种情况下使用jQuery。
$(\'input\').filter(function(){
return $(this).attr(\'name\') == \"<?php echo $valueGoesHere; ?>\";
}).attr(\'checked,\' true);
尝试告诉我您的结果。 :)
,假设\“来自URL \”,则意味着seo和ppc是发布参数,这是您需要的:
<div class=\"emailOption\"><input type=\"checkbox\" name=\"seo\" id=\"seo\" value=\"seo\" <?php echo (isset($_POST[\'seo\']) ? \'checked\' : \'\');?>/> SEO Series</div>
<div class=\"emailOption\"><input type=\"checkbox\" name=\"ppc\" id=\"ppc\" value=\"ppc\" <?php echo (isset($_POST[\'ppc\']) ? \'checked\' : \'\');?>/> PPC Series</div>