2016-08-04 9 views
0

入力済みのすべての値を入力としてHTMLファイルとして保存しようとしています。私はこれを試しました:入力のページに含まれる値のHTML全体を取得

$("#content").html(); 

しかし、それは入力から値を保存しません。

$("#content").get(0).outerHTML; 
$("#content").prop('outerHTML'); 

入力値は同じですが値は保存されません。私はページ上のすべてを保存する機能が必要です。

+1

入力の値がプロパティであり、HTMLには影響を与えません。入力のすべての値を手動で取得し、作成したHTML文字列でそれらを更新する必要があります。 –

+0

@rory 'value'属性はHTMLの一部ですが... – Teemu

+1

これは当てはまりますが、値を変更すると直接更新されません。この例を参照してください:https://jsfiddle.net/LmxLygcf/。コンソールに表示される値は、入力に何を設定しても常に 'foo'になります。 –

答えて

2

あなたが最初の各入力値を設定する必要があります。

$('#content input').each(function() { 
    $(this).attr('value', $(this).val());//set up all the input values 
}); 

var html = $('#content').html(); //now from here you can get input values 
+0

クールな回答!それはうまく動作します。ありがとう、相棒! –

+0

喜んで助けてください。 ☺ –

0

あなたは試みることができる:

$("html").html(); 

をあなたもHMTLタグをキャプチャしたい場合は、このようなHTMLにそれらを連結できます。

function getPageHTML() { 
    return "<html>" + $("html").html() + "</html>"; 
} 

あなたには、いくつかの変数に入力値を保存していlike

var input=$("#input-id").val() 
0

ユーザーが入力を変更すると、.valueが変更されます。 .valueはDOMにはありませんが、JSにあります。だから、あなたがする必要があるのは.valuevalue=に転送して文字列に入れることです。ここではそれを実現する方法である:

$('input').each(function(index, input){input.setAttribute('value', input.value)}); 

今すぐHTMLを取得しよう;)

PS:あなたはまた、すべての入力(type="password"等)を取得しないように、ここでセレクタを変更することができます。

関連する問題