【问题标题】:Is there a way to automatically trigger submit without pressing the submit button?有没有办法在不按下提交按钮的情况下自动触发提交?
【发布时间】:2025-12-18 08:40:01
【问题描述】:

我正在尝试自动提交表单,而无需按下提交按钮。我想要实现的是,一个页面获取信息,处理该信息,然后将其重定向到另一个页面。

到目前为止我的重定向方法:-

<form action='<?php echo $url;?>' method='post'>
    <input type='hidden' name='hiddenInfo' value='<?php echo $myInfo;?>'/>
</form>
<?php
header("Location:$url");

我知道上面的代码不起作用,但我只是想展示我的方法是什么。甚至可以在没有任何事件处理程序的情况下自动提交数据。

到目前为止,我试图避免&lt;meta http-equiv="refresh" content="0;url=http://www.mysite.com/info/"/&gt;

提前致谢。

【问题讨论】:

  • 你可以用javascript提交。但不是用php。您应该在页面加载时绑定输入以通过 ajax 提交到您的页面
  • 你是说你甚至不需要用户提供条目(这就是你上面的表单的样子?那为什么还要向浏览器写内容?你不能用 PHP 做所有事情吗?处理一些通过 GET 或 POST 传入的数据,然后(假设您仍然需要)重定向到页面 x?
  • @RPM 我会试试看,然后告诉你进展如何。
  • @EdSF 有点复杂。数据真正来自用户,我操作该数据,将其存储在隐藏值中并将其发送回用户以进行查看/编辑/操作等。
  • @RPM 我尝试了 jquery 方法并且它有效,但您的方法也很有意义。我认为这也正是 jquery 所做的。检查页面何时加载并绑定输入以使用 .submit 提交。感谢您帮助我理解这一点。 :)

标签: php javascript jquery html


【解决方案1】:

您不能在准备好的文档上使用$().submit() 吗?

$(function() { $("form").submit(); });

或:

$(function() { $("#formid").submit(); });

或:

$(function() { $("form:first").submit(); });

【讨论】:

  • 我想过这个问题,但我的印象是$().submit 等待事件发生,这不是我想要的。但我会再看一遍。
  • 太棒了!有效。太感谢了!!我花了将近 4 个小时认为这种方法行不通,并尝试了其他愚蠢的事情。 -_-
【解决方案2】:
<form action='<?php echo $url;?>' method='post' id="myform">
    <input type='hidden' name='hiddenInfo' value='<?php echo $myInfo;?>'/>
</form>
$(function() { $("#myform").submit(); });

试试这个,可能有多个表单,所以在那个表单中输入一些 id..

【讨论】:

  • 成功了!!哇,要是我早知道这么简单就好了。尝试了所有其他的东西。非常感谢。
  • Yonjan shrestha sathi, hehe ma ni nepali nai ho
  • 你好,我的同胞。我是新来的,谢谢指导!!此外,它是 yojan 不是 yonjan。 :)
【解决方案3】:

如果您是 php 程序员,那么您可能不需要任何 javascript 答案。最好的解决方案是

1.使用像 paros 或 HTTP 分析器这样的代理,它们会让你了解网站的表单是如何构建的

2.记下表单 POST OR GET VALUE SYNTAX FROM THE HTTP 分析器或 paros 代理。

阅读本教程,这是最好的教程

http://www.html-form-guide.com/php-form/php-form-submit.html

4.根据你记下的结构改变$_post或$_get的内容

paros 或 HTTP 分析器

【讨论】:

    最近更新 更多