私は、ユーザーが人に関する情報を入力できる非常に単純なHTMLフォームを持っています。そのフォームの下には、「さらに追加」できるボタンがあります。クリックすると、「person」フォームがコピーされ、ページに追加されます。
これを行うために使用した方法は、HTMLファイルを取得し、関連するセクション(「さらに追加」される部分)をコピーして、Javascriptの変数に保存することでした。フォームに変更を加える必要がある場合、Javascript変数に同じ変更を加える必要があるため、これはかなり厄介になりました。
私の新しい方法は、Javascriptで変数を動的に作成することです。ページが読み込まれると、jQueryを使用して、コードの「追加」部分を取得し、HTMLを変数にキャッシュします。次に、[さらに追加]ボタンをクリックすると、キャッシュされたHTMLをページに追加します。
問題はフォーム入力にあります。サーバー側のコードは、データベースからのユーザーのデータをフォームに自動入力します。フォーム入力なしでそのHTMLデータをキャッシュしたい...
私の現在の関数は次のようになります。
function getHTML($obj, clean)
{
if (clean)
{
var $html = $obj.clone();
$html.find('input').each(function() { $(this)[0].value = ''; });
}
else
{
var $html = $obj;
}
var html = $html.wrap('<div></div>').parent()[0].innerHTML;
$html.unwrap();
return html;
}
動作しません。これが問題を解決するための最良のアプローチであるかどうかもわかりません。
何か案は?