Button给$ _GET额外参数

时间:2014-05-06 18:21:53

标签: php html button get

我的表单中有两个按钮,一个用于回答问题,另一个用于复制问题。

<div id="question">
    <?php echo($question->content) ?>
</div>
<form action="script.php" method="GET" id="question">
    <input type="text" name="question">
    <button id="answer" onclick="document.getElementById('question').submit()">Answer the question</button>
    <button id="copy"   onclick="document.getElementById('question').submit()">Copy the question</button>
</form>

script.php的URL现在看起来像:
script.php?question=sometext

现在我希望当你点击复制按钮时,URL看起来像这样:
script.php?question=sometext&copy

答案按钮:
script.php?question=sometext&answer

修改

答案中有很多答案:&#34;使用<input type>代替<button>&#34;
问题是我不能使用输入字段作为按钮,因为按钮在我的表单之外。我不能把它放在我的表格中

3 个答案:

答案 0 :(得分:2)

您可以做的是使用一个隐藏字段并根据按下的按钮更改其名称。如下所示:

<div id="question">
<?php echo($question->content) ?>
</div>
    <form action="script.php" method="GET" id="question">
        <input type="text" name="question">
        <input id="action" type="hidden" name="" value="">
        <button id="answer" onclick="document.getElementById('action').setAttribute('name','answer'); document.getElementById('question').submit()">Answer the question</button>
        <button id="copy"   onclick="document.getElementById('action').setAttribute('name','copy'); document.getElementById('question').submit()">Copy the question</button>
    </form>

虽然这会在网址上为您提供所需的结果,但将隐藏的字段名称设为“操作”并将其值更改为“复制”或“通过javascript”回答更合适。

答案 1 :(得分:0)

尝试制作两个表单,其中隐藏的输入字段包含值。然后,在提交

时,您会在网址中获得额外的参数

答案 2 :(得分:0)

将表单更改为以下

<form action="script.php" method="GET" id="question">
    <input id="question" type="text" name="question">
    <input id="answer" type="submit" name="answer" value="true">
    <input id="copy" type="submit" name="copy" value="true">  
</form>

URL:

script.php?question=hello&copy=true

然后你可以检查

if(isset($_GET['answer']) && $_GET['answer']=="true"){
//answer action
}

if(isset($_GET['copy']) && $_GET['copy']=="true"){
//copy action
}