【问题标题】:How to click the checkbox with url? [closed]如何单击带有 url 的复选框? [关闭]
【发布时间】:2021-01-01 08:50:05
【问题描述】:

我知道我们可以使用 URL 在 HTML 表单中预先填写一些数据。例如www.example.com/?itemname=sth

虽然这次我想通过 URL 执行点击操作,以使我的过滤器起作用。我已经编写了以下代码来单击复选框,但它不起作用,我可以知道如何修复它吗?谢谢。

谢谢你们,我已经尝试通过简单地选中复选框并且它可以工作,但是由于我的过滤器需要一个点击动作来触发,所以这就是为什么我想通过点击来做到这一点!

<label class="form-check-label">
      <input type="checkbox" class="form-check-input product_check" id="Tutor_subject_1" name="Maths" value="Maths">Maths<br>
       <?php if (isset($_GET['itemname']) && $_GET['itemname'] === 'sth' ): ?> 
           <script>document.getElementsByName("Maths").click();</script>
       <?php endif; ?>
</label>

【问题讨论】:

  • 这是getElementsByName 不是getElementByName。见stackoverflow.com/questions/2980830/…
  • 嗨@j08691,我已经修复了拼写错误并尝试使用
  • 好吧,您似乎没有阅读我评论中的链接。 getElementsByName 返回一个节点列表,因此您需要指定您需要的元素,例如[0]。另外,请确保在调试 JavaScript 时检查浏览器工具控制台
  • 会不会是javascript在浏览器上运行而PHP只在服务器上运行的问题
  • 在 js 中这样做毫无意义。设置checked 属性也会更简单,而不是尝试以编程方式单击该框

标签: php html url checkbox


【解决方案1】:

显然不需要javascript,只需在php中添加checked属性即可:

<input 
    type="checkbox" 
    class="form-check-input product_check" 
    id="Tutor_subject_1" 
    name="Maths" 
    value="Maths"
    <?= (isset($_GET['itemname']) && $_GET['itemname'] === 'sth') ? ' checked' : '' ?>
>Maths<br>

【讨论】:

  • 不知道为什么有人会否决这一点,因为这似乎完全合理。我会避免使用 PHP 短标签并使用 echo
猜你喜欢
  • 2011-12-28
  • 1970-01-01
  • 2012-01-16
  • 1970-01-01
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
相关资源
最近更新 更多