1

私はjqueryもphpも初めてなので、私の質問は非常に単純またはばかげているように聞こえます。どんな助けでも大歓迎です。ボタンを使用して行を追加および削除するhtmlがあります。そして、別のボタンでこれらのデータでデータベースを更新したいと思います。したがって、PHP側のループ内にそれらを挿入するには、テーブルの長さを取得する必要があります。データをphp側に転送するにはどうすればよいですか? 私はそのようなことを試しました..JavaScriptコードとして

function Length()
       {

            var table=document.getElementById("Table");
            var len = table.rows.length;
            $.post('/myproject/update_data.php', { "CONTROL": "len" } );
       }

htmlで;

<input type="submit" name="UPDATE" id="UPDATE" value="UPDATE" onclick="return Length();"/>

PHP側では次のようになります

<?php
if(isset($_POST["UPDATE"]))
               {    
                    $length=$_REQUEST["CONTROL"];
               }
?>

そして、私はCONTROLが定義されていません。PHPファイルのディレクトリを入力するのは構文が間違っていますか? それとも何か?取れませんでした。ありがとうございました

4

4 に答える 4

4

AJAX 投稿とフォーム送信を混在させることはできません。これらは 2 つの別個の要求です。フォームは AJAX リクエストが完了する前に送信されるため、フォームの送信はサーバーが受け取るリクエストです。

AJAX リクエストに完全に切り替えreturn false;て関数の最後に追加することをお勧めします。これにより、フォームの送信がキャンセルされ、AJAX リクエスト自体が作業できるようになります。このような:

$.post('/myproject/update_data.php', { "CONTROL": len, "UPDATE": "UPDATE" } );

または、AJAX をスキップして JS を使用して非表示の入力をフォームに追加することもできます。

これを HTML に追加します。

<input type="hidden" name="CONTROL" val="">

これを JS に追加します。

$('[name="control"]').val(len)
于 2013-02-15T14:53:08.083 に答える
0

JavaScript では、変数は PHP のように文字列内で補間されません。したがって、この

{ "CONTROL": "len" }

する必要があります

{ "CONTROL": len }
于 2013-02-15T14:51:29.710 に答える
0
$length=$_REQUEST["KONTROL"];

$.post('/myproject/update_data.php', { "CONTROL": "len" } );

"コントロール" != "コントロール"

それ以外の: $.post('/myproject/update_data.php', { "CONTROL": "len" } );

交換: $.post('/myproject/update_data.php', { "CONTROL": len } );

「len」は単なる文字列です。

そして代わりに: $length=$_REQUEST["KONTROL"];

交換: $length = $_POST['CONTROL'];

于 2013-02-15T14:52:08.020 に答える
0

ここでコードのこのセクションを変更してみてください

function Length()
   {

        var table=document.getElementById("TableYetkili");
        var len = table.rows.length;
        $.post('/myproject/update_data.php', { "CONTROL": "len" } );
   }

それをこれに変えて

function Length()
   {

        var table=document.getElementById("TableYetkili");
        var len = table.rows.length;
        $.post('/myproject/update_data.php', { "CONTROL": len } );
   }

あなたが抱えていた問題はlen、が文字列ではなく、var len引用符が必要ないことだと思います。私が助けてくれることを願っています。また、PHP ファイルでは、フォームが送信されていない場合、IFステートメントは true になりません。

于 2013-02-15T14:49:23.013 に答える