onclick表单提交重定向在safari

时间:2017-05-19 12:06:34

标签: javascript php html forms

我有一系列带有表单的php页面,用户应该做出一些选择。非常基本。

<form action='/nextpage.php' method='post' name='main' >
<input name='var1' type='hidden' value='xyz' />
<input name='var2' type='hidden' value='abc' />
<input name='direction' type='submit' value='North' />
<input name='direction' type='submit' value='East' />
<input name='direction' type='submit' value='South' />
<input name='direction' type='submit' value='West' />
<input name='var3' type='submit' value='NoDirection' onClick=\"document.forms.main.action='/endpage.php'; document.forms.main.submit();\" />
</form>

提交此表单并指示方向后,它将很好地与nextpage.php一致,我可以按预期阅读$_POSTvar1var2变量的direction。就像我说的非常基本。

但如果使用NoDirection1提交此表单,则会提交endpage.php。在Chroome中,IE和FF $_POST['var3']给了我NoDirection,就像它应该......

但在Safari中$_POST['var3']也是空的

if (isset($_POST['var3'])) echo $_POST['var3'];
else echo "Help";

在Safari中回应“帮助”而不是“NoDirection”。

有什么想法吗? onclickonClick没有任何区别。 onClick=\"javascript:document.forms.等也没有做到这一点。

我找到了解决方法,但我想了解Safari和其他浏览器之间的区别。

解决方法:只需将var3添加为隐藏变量,然后在nextpage.php中取消设置它就可以了。

<input name='var3' type='hidden' value='NoDirection'>

已解决似乎是双重提交或Safari不喜欢的内容。在onclick之后我删除了下面的代码。它现在工作正常。最好的3天今年花费令人费解: - )

document.forms.main.submit();

0 个答案:

没有答案