フォーム要素を追加してプロパティを変更できる動的フォーム作成者を作成しています。私はXMLやJSONの複雑さなしにクライアント側にこのデータを格納する方法を見つける必要があります。ユーザーはテキストボックスからラジオにテキストエリアまでの50のフォーム要素を追加できます。各要素には異なる数の変更可能な変数があります。私は、各項目と隠しを追加するためにjqueryのを使用しています隠しフォーム要素を使用して配列を使用してJqueryでデータを格納および取得する方法
type:text, size:30, required:yes, top:30, left:30
type:textarea, cols:30, rows:5, top:50, left:60
:
私は現在のように隠されたフィールド値に格納しています。
var typeVariable = 'type:input';
var startPosLeft = 'left:' + Math.round($(newElem).offset().left$('.container').offset().left);
var startPosTop = 'top:' + Math.round($(newElem).offset().top - $('.container').offset().top);
var newElemValue = typeVariable + ',' + startPosTop + ',' + startPosLeft;
// creates hidden form elements to store data
$('<input>').attr({'type': 'text', value:newElemValue, 'name':'hidden' + newNumDivs, id:'hID' + newNumDivs}).appendTo('.hiddenDiv');
AJAXのトンを行うことなく、データを格納および取得するための最良の方法は、
私のような文字列から特定の要素を呼び出すことができますどのように
呼び出し、このです:
タイプ:テキスト、サイズ:30、必要な:はい、トップ:30、左:30
私がします'text:'は 'type:text'ではありません。
この文字列の特定の要素を更新するにはどうすればよいですか?もしサイズ:サイズ30の変更:50私は隠しフィールドに格納され、このデータを変更し、
type:text, size:50, required:yes, top:30, left:30
jSONは、これらの値をクライアント側に保存する最も良い方法です。また、データベースに永続化するためにサーバーに簡単に送信できるという利点もあります。なぜなら、表記法はあなたが現在使用しているものとあまり変わらないので、あなたがjSONの使用に非常に不利な理由がありますか? – rkw
私はjSONに精通しておらず、できるだけシンプルに保つために努力していたからです。私は--String(typeVariable [1])のようなものを試していました。split( ':')[1]; – user1009749
JSONを使用して情報を保存しないでください。私の答えに応じてJavaScriptオブジェクト/配列を使用してください。その後、サーバーに送信したいときは(JSONとしてオブジェクトをシリアライズし、従来のフォームまたはAjax経由で送信できます)。上記で使用しようとしている個々の入力と文字列がすべて「できるだけシンプル」になる方法はありません。私の答えはすべて基本的なJavaScriptです。初心者としてはまだ理解できないかもしれませんが、あなたはそれを学ぶ必要があります。 – nnnnnn