0

ここに私のhtmlコードがあります:

   <form name="sumForm" action="">
<input type="text" id="num1" name="num1" />

<input type="text" id="num2" name="num2" />

<input type="submit" id="sum"  value="sum"/>

</form>

ここに私のjqueryコードがあります:

       $("#sum").click(function() {
                        var num1 = $("#num1").val();
                        var num2 = $("#num2").val();


                        var dataString = "num1="+ num1 + "&num2=" + num2; 

                        $.ajax({
                        type: "POST",
                        url: "apotelesma.php",
                        data: dataString,
                        success: function() {
                           alert(dataString)

                                return false;
                        }
                });
                return false;
        });

apotelesma.php スクリプトは次のとおりです。

<?php

$num1 = isset($_POST['num1']);
$num2 = isset($_POST['num2']);

$apotelesma = 0;

$apotelesma = $num1 + $num2;

echo $apotelesma;

?>

結果を取得する方法がわかりません。結果を表示するためにphpスクリプトを含めることが正しいかどうかはわかりません。

4

6 に答える 6

2

isset値が設定されているかどうかを確認し、ブール値を返すため$num1、and$num2は true または false のいずれかになります。したがって、実際の値を合計していません。

于 2013-07-26T18:25:47.773 に答える
1

isset()trueor のいずれかを返しますが、orfalseで追加を行うのは本当に難しいです(皮肉)。truefalse

これを次のように変更する必要があります。

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;

return $num1 + $num2;

私の質問: ajax で追加を行う理由はありますか? ajax リクエストなしで javascript を使用しないのはなぜですか?

于 2013-07-26T18:27:30.353 に答える
1

問題は、ブール値に設定$num1していること$num2です..

これを試して

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;
于 2013-07-26T18:25:31.737 に答える
0

変数を送信していません。AJAX を変更して、変数とnum1領域を含めます。num2data

$("#sum").click(function() {
    var num1 = $("#num1").val();
    var num2 = $("#num2").val();
    $.ajax({
        type: "POST",
        url: "apotelesma.php",
        data: {
            num1: num1,
            num2: num2
        },
        success: function(data) {
            alert(data);
            return false;
        }
    });
    return false;
});

PHP を次のように変更します。

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;
echo $num1 + $num2;
于 2013-07-26T18:40:48.580 に答える
0

「isset」は、変数が設定されているかどうかを表すブール値を返します。

必要なもの:

<?php

if (!isset($_POST['num1']) || !isset($_POST['num2']))
    exit;
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];

$apotelesma = 0;

$apotelesma = $num1 + $num2;

echo $apotelesma;

?>

次に、成功のコールバックに含める必要があります

$('#result').html(dataString);

ajax 呼び出しを行うと、通常のフォームのようにページが更新されないため、インクルードを使用したくないでしょう。

于 2013-07-26T18:26:52.697 に答える