2011-08-17 16 views
18

を返しません。 $("body").html()。 html文字列と更新されたフォームの値を取得するにはどうすればよいですか?ありがとう!jqueryのHTMLは()私はこのようなテキストボックスを持つフォームを持って変更された値

+0

なぜそれをしたいですか? –

+0

私はそれからPDFを生成するために提出された時点でページの「スナップショット」を保存する必要があります。 – Harper

+0

'$(" body ").html()'はいつ入手しますか? – ShankarSangoli

答えて

18

.attr()機能を使用できます。

例:この後

$("input").each(function(){ 
    $(this).attr("value", $(this).val()); 
}); 

あなたが行うことができます。

$("body").html(); 

これは動作するはずです。その後、

+1

フォーム上の「すべての」入力要素に対してこれを行う方法が必要です。 – Harper

+0

OPはすべての入力を通過してこれを使用して値を変更する必要がありますが、動作するはずです。 + + –

+0

$( "body")。children()。それぞれ(function(){$ this} .attr( "value"、$(this).val());}); – Harper

2
$('input').each(function(){ 
    $(this).attr('data-value-input', $(this).val()); 
}); 

その後、あなたはあなたのhtml

var bodyHtml = $('body').html().toString().replace('data-value-input', 'value'); 

を取得することができますし、それはそれです。

+0

ページロード時にHTMLにプリセット値が存在する場合はどうなりますか?あなたは2つの値を持っていますよね? –

+0

右のトラックにある解決策のために+1を打ち消すための@Senadのために+1 – BumbleB2na

11
$('[type=text], textarea').each(function(){ this.defaultValue = this.value; }); 
$('[type=checkbox], [type=radio]').each(function(){ this.defaultChecked = this.checked; }); 
$('select option').each(function(){ this.defaultSelected = this.selected; }); 

$("body").html() 
+0

受け入れられた答えはテキストエリアではうまく機能しません。しかし、この解決策は機能します。 – abhishek77in

1

まあ、これを行うのいずれかの最も簡単な方法は、入力でライブ機能を使用することによって、そこにあります。

$(document).ready(function() { 

var checker = false; 
    $("input").live("change", function() { 
     checker = (this.defaultValue !== this.value); 
     if (checker) 
      this.defaultValue = this.value; 
    }); 
}); 
関連する問題