-1

私はスクリプトなしで単純な計算機を作成しましたが、機能しませんでした.ボタンをクリックすると、どの機能が正しく機能しないと宣言されていますか.

<html>

<head>
</head>

<body>

<form method="post" action="">
<table align="center" border="1px" bordercolor="#CC0033" bgcolor="#99CC00"> 
<tr>
<td>
Number 1:</td><td><input type="text" name="number1"></td>
</tr>

<tr>
<td>

Number 2:</td><td> <input type="text" name="number2"></td>
</tr> 

<tr>
<td> 
Get Result:</td><td> <input type="text" name="total"> </td>
</tr>

<tr>
<td class="2">
<input type="button"  value="ADD" onclick="addition()">
<input type="button"  value="SUB" onclick="subtraction()">
<input type="button" value="MUL" onclick="multiply();">
<input type="button"   value="DIV" onclick="division()">
<input type="button"  value="MOD" onclick="modulus()">
</td>
</tr>
</table>
</form>

</body>
</html>

ベローは、私が作成したphp関数ですが、動作しません

<?php

  error_reporting(E_ALL ^ E_NOTICE);

//if()
    function addition(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1+$number2;

    }


    function subtraction(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1-$number2;


    }


    function multiply(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1*$number2;
    }


    function division(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1/$number2;
    }


    function modulus(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1%$number2;


    }


 ?>
4

4 に答える 4

1

これを試して。javascript関数を作成する必要があります。

<html>

<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
function addition()
{
    var total = parseInt($('#number1').val()) + parseInt($('#number2').val());
    $('#total').val(total);
}

function subtraction()
{
    var total = parseInt($('#number1').val()) - parseInt($('#number2').val());
    $('#total').val(total);
}

function multiply()
{
    var total = parseInt($('#number1').val()) * parseInt($('#number2').val());
    $('#total').val(total);
}

function division()
{
    var total = parseInt($('#number1').val()) / parseInt($('#number2').val());
    $('#total').val(total);
}

function modulus()
{
    var total = parseInt($('#number1').val()) % parseInt($('#number2').val());
    $('#total').val(total);
}
</script>
</head>

<body>

<form method="post" action="">
<table align="center" border="1px" bordercolor="#CC0033" bgcolor="#99CC00"> 
<tr>
<td>
Number 1:</td><td><input type="text" name="number1" id="number1"></td>
</tr>

<tr>
<td>

Number 2:</td><td> <input type="text" name="number2" id="number2"></td>
</tr> 

<tr>
<td> 
Get Result:</td><td> <input type="text" name="total" id="total"> </td>
</tr>

<tr>
<td class="2">
<input type="button"  value="ADD" onclick="addition()">
<input type="button"  value="SUB" onclick="subtraction()">
<input type="button" value="MUL" onclick="multiply();">
<input type="button"   value="DIV" onclick="division()">
<input type="button"  value="MOD" onclick="modulus()">
</td>
</tr>
</table>
</form>

</body>
</html>
于 2013-03-20T08:58:57.437 に答える
1

オンクリック イベントは JavaScript で定義されていません!!! 目標を達成する 1 つの方法は、クリック時にすべてを削除して、次のボタンを試すことです。

<input type="submit" name="operation" value="ADD">
<input type="submit" name="operation" value="SUB">
<input type="submit" name="operation" value="MUL">
<input type="submit" name="operation" value="DIV">
<input type="submit" name="operation" value="MOD">

このようにして、ボタンの「1つ」がクリックされたときに、次のように $_POST['operation'] をテストします。関数が結果を $total に返すようにします

<?php 
$operation = isset($_POST['operation']) ? $_POST['operation'] : NULL;
switch($operation) {
    case 'ADD':
        $total = addition();
        break;

    case 'SUB':
        $total = subtraction();
        break;

    case 'MUL':
        $total = multiply();
        break;

    case 'DIV':
        $total = division();
        break;

    case 'MOD':
        $total = modulus();
        break;

    default:
        $total = '';
}
?>
于 2013-03-20T09:07:10.467 に答える
1

html コンテキストから直接 php 関数を呼び出すことはできません。あなたがし$_POSTたように変数を使用してください:number1number2

<input type="submit" name="mode" value="MOD">

そしてphp側で:

if(isset($_POST['mode']) && $_POST['mode']=='MOD') modulus();

...または単に JavaScript を使用します。

于 2013-03-20T08:45:06.153 に答える
0

PHP で関数を宣言し、onclickjavascript 関数を呼び出そうとするイベントでその関数を呼び出しています。

PHP関数を呼び出したい場合は、試してみてください

<input type="button" name="add" value="ADD">

<?php
    if(isset($_POST['add']))
    {
          addition();
    }
?>
于 2013-03-20T08:47:17.083 に答える