4

HTML と PHP で複数の送信ボタンに問題があります。Web ベースの電卓用の GUI をコーディングしようとしました。それはとても簡単ですが、php の関数はそれほど簡単ではありません。だから私は6つの送信ボタンを備えたこのシンプルなGUIを持っています:

<?php 
$output= isset($_POST['output']) ? $_POST['output'] : "";

function calc(){
//calculate...
}

?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>Calc</title>
<style type="text/css">
 .bwidth {
      width: 100%;
}
</style>
</head>
<body>
    <form action="calc.php">
        <h1>
            <u>MY Own Calculator</u>
        </h1>
        <table border="3px" type="box" cellspacing="5px" width="250px">
            <tr style="height: 24px;">
                <td colspan="3"><input type="text" name="<?php $ausgabe ?>"
                    value="0" style="width: 98%;" /></td>
            </tr>
            <tr>
                <td><input class="bwidth" type="submit" name="1" value="1" /></td>
                <td><input class="bwidth" type="submit" name="2" value="2" /></td>
                <td><input class="bwidth" type="submit" name="3" value="3" /></td>

            </tr>
            <tr>
                <td><input class="bwidth" type="submit" name="minus" value="-" /></td>
                <td><input class="bwidth" type="submit" name="plus" value="+" /></td>
                <td><input class="bwidth" type="submit" name="enter"
                    value="=" /></td>
            </tr>
        </table>
    </form>
</body>

これらの多くの送信ボタンをどのように区別できますか? 複数の送信ボタンを持つことさえ可能ですか? ボタンを値で区切ってみましたが...うまくいきませんでした。

そして、sb は、テキストフィールドの既存の値に値を追加する方法を考えていますか? ボタン1を押すと、テキストフィールドに1が書き込まれ、ボタン2を押すと数字2が追加されるので、「12」になりますか?

すべての提案に感謝します!

4

7 に答える 7

3

JavaScript を使用してこれを行うことができます。まず、次のように変更する必要があります<form>

<form id="form1" name="form1" method="post" action="calc.php">

次に、JavaScript とボタンは次のようになります。

<script>
function submitForm(action)
{
    document.getElementById('form1').action = action;
    document.getElementById('form1').submit();
}
</script>

...

<input type="button" onclick="submitForm('page1.php')" value="submit 1" />
<input type="button" onclick="submitForm('page2.php')" value="submit 2" />
于 2013-04-23T07:09:55.427 に答える
3

すべての送信ボタンに 1 つの名前を使用できます。

<input type="submit" name="operator" value="+" />
<input type="submit" name="operator" value="-" />
<input type="submit" name="operator" value="=" />

そして、phpで値を取得できます

<?php
    $opr = $_GET['operator'];
    if($opr == "+") {
         //do something
    } else if($opr == "-") {
         //do something
    } else if($opr == "=") {
         //do something
    }
?>
于 2013-04-23T07:15:42.333 に答える
2

はい、フォームには n 個の送信ボタンを含めることができます。

送信ボタンと同じ行にアクションページを指定します。

<form action="actionpage.php">
<input type="submit" value="1">
<input type="submit" value="2" formaction="postPage.php">
</form>

更新 - IE に問題がある場合

<form>
<input type="submit" value="1" onclick="document.formName.action='abc.php';">
<input type="submit" value="2" onclick="document.formName.action='xyz.php';">
</form>
于 2013-04-23T07:11:31.853 に答える