0

jquery を使用してデータを process.php に投稿し、process.php ファイルで発生したことをすべて返したいと考えています。

私はすでにajaxでファイルをロードすることができました。入力すると

echo "Hello world!";

Hello world! を返します。しかし、$_POST を使用した場合、エコーは返されません。

フォーム

<form class="calc" method="POST" action="process.php">
<input id="calc-average" type="text" name="calc-average" placeholder="Goal"/>
<input id="calc-weight" type="text" name="calc-weight" placeholder="Weight"/>
<input id="calc-calculate" type="hidden" name="calc-calculate" value="1" />
<input type="submit" class="btn  btn-primary calc-submit" value="Calculate">
</form>

スクリプト

 $(".calc").submit(function(event) {  
            event.preventDefault();   
            $.post( 'process.php', $(".calc").serialize(),  
              function( data ) {  
                  $(".result").append(data);  
              }
            );
});  

Process.php

if(isset($_POST["calc-calculate"])&&isset($_POST["calc-weight"])&&isset($_POST["calc-average"])){
    if(!$_POST["calc-calculate"]==""&&!$_POST["calc-weight"]==""&&!$_POST["calc-average"]==""){
        if($_POST["calc-calculate"]==$subjectid){
            $a = $_POST["calc-weight"];
            $y = $_POST["calc-average"];
            $q = $weights;
            $z = $average;
            $tobe = (-($a*$y+$q*$y-$q*$z)/$a)*-1;
            if($tobe>10 or $tobe<0){
                echo " | Not possible yet";
            }else{
                echo " | The grade you need is: " . round($tobe,1);
            }
        }
    }
}
echo "Hello wordl!";

if ステートメントを削除すると、それらが未確認であることが返されます。

それで、これを機能させる方法を知っている人はいますか?

ありがとう!

4

3 に答える 3

0

このコードは私にとってはうまく機能しています。

リクエストreturn false後に追加してみてください。post

$(".calc").submit(function(event) {  
        event.preventDefault();   
        $.post( 'process.php', $(".calc").serialize(),  
          function( data ) {  
              $(".result").append(data);  
          }
        );
      return false;
});
于 2013-08-31T12:28:36.193 に答える
0

私はすでに同じ問題を抱えていました。私のコードには、ページに重複した「ID」がありました。それが私の問題でした。「serialize」コマンドが正しい要素を呼び出すフォームに、排他的な ID またはクラス「calc」があることを確認してください。

于 2018-05-10T12:06:26.793 に答える