1

ボタンをクリックするとすぐに使用できるツールのページを強化したいと考えています。リクエストはサーバーに送信され、戻り値のタイプ (失敗/合格) に応じてボタンの色が変わります。リフレッシュ/ページのリロードなし

ページには複数のボタンがあります。以下のようなものがあります。

Name       9-11  -  11-2      2-5

Resource1 - Button - Button - Button 

Resource2 - Button - Button - Button 

Resource1 - Button - Button - Button

私は C++ プログラマーなので、簡単な質問をしたと感じるかもしれません。

4

3 に答える 3

2

これは、jQuery Ajax を投稿するサンプルですForm。個人的には、PHP はよくわからないのですが、Ajax は何があっても同じです。Success = trueまたはを返すことができるものに投稿するだけですfalsesuccess:この POST は非同期で行われるため、セクションで特定の操作を行わない限り、ページを更新することはできません。

$("document").ready(function () {

    $('form').submit(function () {
        if ($(this).valid()) {
            $.ajax({
                url: yourUrlHere,
                dataType: "json",
                cache: false,
                type: 'POST',
                data: $(this).serialize(),
                success: function (result) {
                    if(result.Success) {
                        // do nothing
                    }                           
                }
            });
        }
        return false;
    });
});

もちろん、POSTどちらかを実行する必要はありません。GET

type: 'GET',

また、データを渡す必要がない場合は、data:セクションを省略してください。しかし、データを指定したい場合は、data: { paramName: yourValue },

ページをキャッシュする場合は、このcache: false,行を省略できます。どのように変更を表示しないかを見て、その行を削除できます。jQuery は URL に一意の値を追加して、キャッシュしないようにします。type: "json",特定のタイプを指定することは常に良い考えですが、必須ではありません。

于 2012-05-27T04:04:31.013 に答える
1

jquery で $.post または $.get 関数を使用してみてください

$.post("url",$("#myform").serialize());

Fabrício Mattéが提案したようにコールバック関数を追加する

$.post("url",$("#myform").serialize(),function(data){alert(data);$("#myform").hide()//?Do something with the returned data here});
于 2012-05-27T04:03:09.093 に答える
1

どうぞ。フォーム、ボタン、必要な ajax 処理の php ページの例があります。それを試してみて、それがどうなるか教えてください:

<form action="" method="post" name="my_form" id="my_form">
  <input type="submit" name="my_button" id="my_button" value="Submit">
</form>


<script type="text/javascript">
$("document").ready(function () {

    $('#my_form').submit(function () {

        $.ajax({
                url: "ajaxpage.php",
                dataType: "json",
                type: "POST",
                data: $(this).serialize(),
                success: function (result) 
                    {
                        //THere was an error
                        if(result.error) 
                        {
                            //So apply 'red' color to button
                            $("#my_button").addClass('red');
                        }
                        else
                        {
                            //there was no error. So apply 'green' color
                            $("#my_button").addClass('green');  
                        }
                    }                           
            });

        return false;
    });
});
</script>

<?php 
//ajaxpage.php
//Do your processing here

if ( $processed )
{
    $error = false;
}
else
{
    $error = true;  
}

print json_encode(array('error' => $error));
die();

?>
于 2012-05-27T05:12:43.990 に答える