0

約 30 種類のフォームを含むフォーム テンプレートがあります。毎回 1 つのフォームのみが選択され、送信されます。フォーム内の要素の数はさまざまですが、約 80 またはそれ以上です。

これには2つの要件があります。

  1. フォームの送信は localStorage にキャッシュされ、後でネットワークが復旧したときにサーバーに送信できる必要があります。フォームを永続化するにはどうすればよいですか?
  2. モデルは真のバックエンドで構築されるため、モデルを extjs に入れたくありません。バックエンドは、ユーザーの選択と入力の組み合わせに基づいてそれを構築します。これが意味があるかどうかはわかりません。私が考えることができる唯一のことは、いくつかのルールでinputIdを設定し、バックエンドでマッピングを行うことです.

なにか提案を?

4

1 に答える 1

0

送信する前に、ベース フォーム データをローカル オブジェクト (配列?) にプッシュし、 $.ajax( ..., data:myDataObject ) を使用してフォームではなくバックエンドにデータを送信できますか? このようにして、データをキャッシュしたり、フォームを再入力したり、応答に基づいて必要に応じて再送信したりできます。

私はextjsを使用していませんが(見た目はいいですが)、次のようなものを想像しています:

function submitter() {
    var myData = new Object();   //maybe make an array/object to store each form dataset separately?
    //pseudo:
    for each form element {
        myData.push(item = value);
    }
    $.ajax({
        'dataType': 'json',
        'type': 'GET',
        'url': sSource,
        'data': myData,
        'success': [fnCallback, fnMy2ndCallback]  //single or array of callbacks.
    });
    function fnCallback(response) {
        //check for failure, or success and proceed accordingly.
    }

良い一日をお過ごしください

于 2013-03-11T00:56:30.093 に答える