0

今日、私のクライアントの 1 人が、変更時にフォーム データを非同期的にサーバーに保存する必要があると要求しました。

元 :

テキストボックス、選択、ラジオ、チェックなどを含むユーザーの詳細を入力するためのフォームがあります...

そのため、テキスト ボックスの値を変更したら、それらをサーバーに保存する必要があります。

私が使用できるphpで利用可能なライブラリまたは何かはありますか?

私はajaxとは何かを知っていますが、それでも手動でコーディングする必要があり、再利用性にも気を配っています。それが私がライブラリを求めている理由です。

編集

私はjQuery、Js、Ajaxなどを知っています..しかし、私の考えは異なります...

と言う

<input type="text" class="dataBinder[name]" id="cname" name="name" />
<input type="checkbox" class="dataBinder[agree_me]" id="agree_me" name="agree_me" />

確かに私はできる

 $("#cname").event(function(){

 var is_changed = true; ///check for changes if any

if(is_changed)
{

//send to the server
}

});

しかし、これを自動的に行うことができるライブラリを探しています

元:

//assume a library dataMapper

var myForm = $("#myForm"); //get the form

myForm.dataMapper({

"server" :"serverUrl/someFunc.php"
//may be some other kind of option too
});

サーバー上のsomeFunc.php

dataMapper DM = new dataMapper();

$changes = DM->get_data(); //a function that which give the changes

return $changes

値はからdataBinder[name]です

<input type="text" class="dataBinder[name]" id="cname" name="name" />

var_dump($changes);与える

array(3) {
  ["changes"]=>
  array(2) {
    ["cname"]=>
    string(15) "my-changed-name"
    ["agree"]=>
    bool(false)
  }
  ["time"]=>
  string(6) "720124"
  ["form"]=>
  string(6) "formId"
}

開発者について多くの質問があると思いますが、車輪を再発明したくないので、質問があるかどうかを探しています.

4

1 に答える 1

2

必要なすべての入力要素で data-save-ajax 属性を使用し、ajax ページを値として追加してみませんか。ここで、1 つの jQuery (または任意の ajax JavaScript) を作成し、値を data-save-ajax リンクに保存する on-change イベント ハンドラーを記述します。

このようなもの:

jQuery("[data-save-ajax]").change( function() {
    jQuery.ajax({
        url: jQuery(this).attr("data-save-ajax"),
        method: 'post',
        data: {
            newvalue: jQuery(this).val()
        }
    });
});

考慮すべきことは、これが生成する負荷です。フォーカスを失ったときにイベント ハンドラーを使用することをお勧めします。または、変更時を好む場合は、変更の ajax を開始する前におそらく数ミリ秒かかります。

もちろん、data-save-ajax リンクは、セッションをチェックし、URL に基づいてデータをデータベースに保存する php ページになります。.htaccess (またはその他の) 書き換えを使用して、使用している入力を php に知らせることができます。

たとえば、 の data-save-ajax url は/ajax/text/nameに書き換えられ/ajax/index.phpます。

私はかつてこのような ajax アップデーターを作成しました。これは簡単に構築でき、必要なときにいつでも簡単に更新または再利用できます。

于 2012-07-26T14:21:46.667 に答える