【问题标题】:PHP onSubmit action on an <a>PHP onSubmit 对 <a> 的操作
【发布时间】:2013-02-14 10:21:57
【问题描述】:

所以基本上我的问题很简单,我有两个按钮,一个用于向前翻页,一个用于向后翻页,如果其中一个被按下,则在 onClick 事件中调用一个 javascript 函数。 Javascript 然后获取页面的变量,然后重定向到下一页,唯一的问题是,我需要将这些变量传递给 PHP 以便将它们放入数据库中。因此,为此我制作了大量 cookie 来传递变量。

但是,我想知道这样的事情是否可行:

<form>
<a onClick="nexpage();" onSubmit="phpScript.php"> <img src = "previous button.jpg"/> </a>
</form>

这背后的想法是我想将变量存储在 PHP 脚本中,这会将它们放入 display:none; &lt;div&gt; 中,然后让 javascript 将变量取出。这不是使用 cookie。

那么是否可以运行 PHP 脚本来获取变量,当脚本完成获取变量时,Javascript 会启动以重定向到下一页...

我现在不测试这个的原因是我的代码已经 100% 完成,我不想要任何可能根本不起作用的突然更改。是的,我知道备份这个和那个,但我想只是在这里问,也许有人会知道答案!

真诚地, 哈门布林克曼

【问题讨论】:

  • 我认为onSubmit="phpScript.php" 行不通
  • 你为什么不直接使用 `' 并让 phpScript.php 记录数据并处理重定向?
  • 您不能提交链接onXxx 也总是包含 JavaScript。也许你应该看看 AJAX。
  • 如果是表单,请在您的 js 函数中提交,如果不是,您可以在那里向处理此问题的 php 脚本发出 ajax 请求(更喜欢此选项)。
  • 我的观点与@fab 相同。首先提交表单并将其发送到 javascript 函数。然后,您可以向需要表单信息的 PHP 页面发送 AJAX 发布调用。在 AJAX 调用中,成功后,您可以使用 window.href = "myPhpPage.php" 转发到下一页。

标签: php javascript html


【解决方案1】:

您也可以使用onClick = "this.form.submit(); return false;"

没有像onSubmit这样的链接事件,而是表单有onSubmit事件。

OP 要求的正常方式。

<form action = "phpScript.php" method = "POST">

【讨论】:

  • 但我想先触发 PHP 脚本,然后触发 Javascript,我该怎么做?
  • @HarmenBrinkman 您可以通过直接将 php 脚本路径设置为表单来做到这一点。请参阅更新的答案。
【解决方案2】:

你可以使用 document.getElementById("my_form").submit();

【讨论】:

  • @Debina – 好点。但是,这只会提交表单,您无法拦截代码,将其发送到另一个 PHP 页面,然后转发到另一个 PHP 页面。除非你 1) 将表单的方法设置为 POST 和 2) 将表单的操作设置为转到第一个 PHP 页面——然后它可以处理所有内容并将用户转发到下一页。从理论上讲,这会奏效。不过,不太确定会是什么样的用户体验。
【解决方案3】:

@Dipesh Parmar – 好点。你也可以这样做:

window.onload=function() {
  document.getElementById('my-form').onsubmit=function() {

    // do what you want with the form

    // AJAX POST CALL TO PHP PAGE

    // Should be triggered on form submit
    alert('hi');

    // You must return false to prevent the default form behavior
    return false;
  }
});

灵感来自Capture a form submit in JavaScript

【讨论】:

    猜你喜欢
    • 2016-02-19
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多