サーバー上でHTMLをpdfに作成する必要があり、ブラウザからのHTMLが必要form
です。実行すると、フォームに値の$el.html()
ない HTML 文字列が返されます。すべての値が含まれinput
ている HTMl を取得するにはどうすればよいですか?string
input
ブラウザにクローンを追加したくありません。サーバーに渡すすべての入力値を含む HTML 文字列に関心があるだけです。
ありがとう!
サーバー上でHTMLをpdfに作成する必要があり、ブラウザからのHTMLが必要form
です。実行すると、フォームに値の$el.html()
ない HTML 文字列が返されます。すべての値が含まれinput
ている HTMl を取得するにはどうすればよいですか?string
input
ブラウザにクローンを追加したくありません。サーバーに渡すすべての入力値を含む HTML 文字列に関心があるだけです。
ありがとう!
これはうまくいくはずだと思います。呼び出す前にこれを実行するだけです.html()
:
$("input[type='text']").each(function () {
var $this = $(this);
$this.attr("value", $this.val());
});
注: 他の入力タイプに対してこれを行う必要がある場合は、別の方法で処理する必要があります。textarea
を設定する場合は、.text($this.val())
チェックボックスとラジオ ボタンの場合、checked
属性を設定する必要があります。select
要素の場合selected
、適切な の属性を設定する必要がありますoption
。
多分これでうまくいくでしょう:
$("input").each(function() {
$(this).attr("value", $(this).val());
});
$("textarea").each(function() {
$(this).text($(this).val());
});
$("select option").each(function() {
if ($(this).is(":selected")) {
$(this).attr("selected", "selected");
} else {
$(this).removeAttr("selected");
}
});
$("checkbox").each(function() {
if ($(this).is(":checked")) {
$(this).attr("checked", "checked");
} else {
$(this).removeAttr("checked");
}
});
これにより、すべてのタイプの入力に適切な DOM 属性が設定され、現在の状態に一致します。見逃していないことを願っています。
DOM 全体のクローンを作成して操作したい場合があります。上記のコードは、ユーザーがフォームの [リセット] ボタンを押した場合に何が起こるかに影響し、現在の状態がデフォルトと見なされます。