使用添加了变量的Javascript提交表单

时间:2011-08-20 02:54:29

标签: php javascript javascript-events

我有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
    }
?>

2 个答案:

答案 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>