2013-02-28 65 views
1

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

不过,我在想,如果像这样的工作:

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

这背后的想法是,我想要的变量存储在一个PHP脚本,将它们放在一个display:none;<div>然后为了得到变量的javascript。这而不是使用cookie。

那么,是否可以运行PHP脚本来获取变量,当脚本执行完毕,让他们,使用Javascript踢重定向到下一页......

我不考的原因在这一刻,这是我的代码完成了100%,我不希望任何突然的变化可能根本无法工作。是的,我知道备份这个和那个,但我想在这里问,也许有人会知道答案!

诚恳, Harmen布林克曼

+0

我不认为'的onsubmit =“phpScript.php”'将工作 – 2013-02-28 09:33:56

+0

你为什么不只是使用'',并有phpScript.php日志数据并处理重定向? – yourdeveloperfriend 2013-02-28 09:34:25

+1

您不能*提交链接*。 'onXxx'也总是包含JavaScript。也许你应该看看AJAX。 – 2013-02-28 09:35:42

回答

2

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

没有任何事件像onSubmit为链接,而不是形式确实有onSubmit事件。

正常方法与OP问。

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

但是我想先启动一个PHP脚本,然后使用Javascript,我该怎么做? – notknown7777 2013-02-28 09:38:28

+0

@HarmenBrinkman你可以通过直接设置PHP脚本路径进入窗体。 – 2013-02-28 09:43:03

0

你可以使用的document.getElementById( “my_form”)提交()。

+0

@Debina - 好点。但是,只提交表单,而不能拦截代码,将其发送到另一个PHP页面,然后转发到另一个PHP页面。除非你1)将表单的方法设置为POST和2)将表单的动作设置为第一个PHP页面 - 然后可以处理所有内容并将用户转发到下一页。从理论上讲,这是行得通的。尽管如此,不太确定那种用户体验。 – Ace 2013-02-28 16:15:56

0

@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