我有1个HTML表单,通过2个不同的链接提交到PHP脚本,这些链接可以激活Javascript代码。我需要的是能够通过2个Javascript链接以不同的方式提交表单,以便我可以在PHP端检查该差异。我意识到我可以通过提交按钮来做到这一点,但我试图避免这种情况。我希望这样的东西能起作用:
foo.html
<form name="fooform" action="fooscript.php" method="POST">
<input type="text" name="footext">
</form>
<a onclick='document.fooform.submit();' href='#'>Do something</a>
<a onclick='document.fooform.submit();' href='#'>Do something else</a>
<!--
<a onclick='document.fooform.submit(0);' href='#'>Do something</a>
<a onclick='document.fooform.submit(1);' href='#'>Do something else</a>
-->
fooscript.php
<?php
if(submit(0)){
//Do something
}
if(submit(1)){
//Do something else
}
?>
答案 0 :(得分:1)
<form name="fooform" action="fooscript.php" method="POST">
<input type="text" name="footext" />
<input type="hidden" name="triggered_by" value="" />
</form>
<a onclick='document.triggered_by.value=1; document.fooform.submit();' href='#'>Do something</a>
<a onclick='document.triggered_by.value=2; document.fooform.submit();' href='#'>Do something else</a>
PHP:
var_dump($_POST['triggered_by']); // 1 or 2
答案 1 :(得分:1)
我会在表单中创建一个隐藏字段。
<input type="hidden" id="submit_action" name="submit_action" value="" />
提取在脚本标记中提交表单的详细信息
function submitWithCommand(commandValue) {
if (e = document.getElementById("submit_action")) e.value = commandValue;
document.fooform.submit();
return false;
}
然后在提交表单之前添加该值。
<a onclick='submitWithCommand("something");' href='#'>Do something</a>
<a onclick='submitWithCommand("something else");' href='#'>Do something else</a>