使用javascript自动填写“表格”和“提交”而不按“提交”[重复]

Posted

技术标签:

【中文标题】使用javascript自动填写“表格”和“提交”而不按“提交”[重复]【英文标题】:Fill a "form" and "submit" using javascript automatically without pressing "submit" [duplicate] 【发布时间】:2014-06-12 22:47:08 【问题描述】:

我查看了不同的线程,但找不到合适的解决方案。 我想制作一个伪造的 html 文件,它会自动填写表单并在浏览器加载时提交。

maksreciever 两个输入字段由我给出的值填充,但我需要按提交。 如果可能的话,如果输入字段的值是不可见的,那就太好了。谢谢。

<html xmlns="http://www.w3.org/1999/xhtml">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <head>
    <script type="text/javascript">
      function postReq() 
        var frm = document.getElementById('post_req');
        if (frm) 
          frm.submit();
        
      
    </script>

  <body onload="postReq()">
    <form method=POST name=exampleform id='post_req'
       action="/ex/makfoer.php">
      <input name=maks type=hidden value="2" /> 
      <input name=reciever type=hidden value="otto" />
      <input type=submit />
    </form>
  </body>

</html>

【问题讨论】:

你应该关闭你的&lt;head&gt;标签 你的代码没问题。究竟是什么不工作? 我必须按“提交”才能进行活动。但我想要的是无需按下即可自动完成。 【参考方案1】:

在你的情况下,你可以使用:

document.exampleform.submit();

说明:

exampleform 是表单的名称,因此您可以通过以下方式获取表单:

document.exampleform

现在您只需激活表单的.submit() 方法。您不需要提交按钮即可提交。所以一切都被隐藏了。

【讨论】:

【参考方案2】:

1.关闭你的&lt;head&gt;标签。

2.nametype等属性的值使用引号。

3.不需要提交按钮,尤其是因为您不希望自己的表单可见

<html xmlns="http://www.w3.org/1999/xhtml">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <head>
    <script type="text/javascript">
      function postReq() 
        var frm = document.getElementById('post_req');
        if (frm) 
          frm.submit();
        
      
    </script>
  </head>

  <body onload="postReq()">
    <form method="POST" name="exampleform" id='post_req'
       action="/ex/makfoer.php">
      <input name="maks" type="hidden" value="2" /> 
      <input name="reciever" type="hidden" value="otto" />
    </form>
  </body>

</html>

【讨论】:

我想看到提交按钮,即使它没有任何意义,因为这样做的目的是原始 html 的伪造,只是为了让用户感到困惑,我想要输入“maks "'s 和 "reciever" 的值被隐藏而不是按钮本身。【参考方案3】:

如果您想在没有 jQuery 的情况下执行此操作,请使用 window.onload 事件处理程序:

<head>
<script type="text/javascript">
  function postReq() 
    var frm = document.getElementById('post_req');
    if (frm) 
      frm.submit();
    
  
  window.onload = postReq;
</script>
</head>

window.onload 在加载整个页面(包括外部脚本、图像等)时被触发,而document.onload 在页面的 DOM 被解析和加载后被触发。

【讨论】:

它不起作用,我希望输入隐藏不可见 对不起,我看错了,看到的是“可见”而不是“不可见”。同样正如 abl 所指出的,您应该关闭 head 标签。编辑了我的答案。 是的,我有,但没有区别 :( 当我将代码复制到计算机上的文件中时,它可以工作。你已经激活了javascript,对吧?您在浏览器或控制台中是否遇到任何错误? 是的,javascript 已激活,我没有收到任何错误。

以上是关于使用javascript自动填写“表格”和“提交”而不按“提交”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 ajax 和 jQuery 自动填写表格,但有时只能工作

如何实现办公网页自动填写提交?有没网页自动填表工具?

是否可以仅使用 javascript 填写 pdf 表单?

如何使用js自动下载PDF?

如何创建表,在用户提交表单时填写行

怎么能够批量自动提交网页登陆,自动填表输入?