代码之家  ›  专栏  ›  技术社区  ›  Brian T Hannan

是否真的没有办法用PHP以编程方式单击链接?

  •  0
  • Brian T Hannan  · 技术社区  · 14 年前

    我已经尝试了一段时间,试图找出如何使用PHP和/或JavaScript以编程方式单击链接。我有它的设置,所以如果用户单击一个链接,它将刷新一个表。你真的不需要知道我为什么要做这个B/C,然后它会走上一条漫长的困惑之路。只需知道有一个链接需要点击,我真的很想用PHP和/或JavaScript以编程方式点击这个链接。

    真的没有办法吗?

    编辑:我需要把自动点击的代码放在PHP中,它必须创建并触发一些javascript或jquery等。

    编辑2:好吧,既然你们都很困惑…真正的问题是我有一个Drupal表单,它的属性设置为在提交时使用Ajax。因此,提交是使用jquery插件完成的,它是Drupal的一个模块。Ajax设置只是一个属性设置,我不能访问提交表单时附带的底层代码。这迫使我必须在单击按钮后刷新表。我真的希望我可以将刷新附加到提交表单的按钮单击事件。但由于我没有访问该代码的权限,我认为这是不可能的。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Sampson    14 年前

    使用javascript,您可以在存在链接的客户机上运行它。但是这个链接在php做魔术的时候根本不存在,所以你不能用php点击它。请记住,PHP在服务器上运行,但链接只存在于客户机上。

    用javascript点击链接相当简单:

    // <a href="index.php" id="mylink">Index Page</a>
    document.getElementById("mylink").click();
    

    确保所有值的拼写正确。甚至可以从php输出此命令:

        <?php print "<script type='text/javascript'>
                       document.getElementById('myLink').click();
                     </script>"; ?>
      </body>
    </html>
    

    我把这个放在关门前 </body> 标记以确保链接出现在页面上。

        2
  •  0
  •   Sebastian    14 年前

    因为它是Drupal,所以我假设您所说的表单有一个URL,因此您可以用以下模块注入JavaScript代码: JS Injector