Ответ 1
Вы можете использовать функцию .attr()
.
Пример:
$("input").each(function(){
$(this).attr("value", $(this).val());
});
После этого вы можете сделать:
$("body").html();
Это должно работать.
У меня есть форма с текстовым полем следующим образом:
<html>
<head>
<script type="text/javascript" src="jquery-1.6.2.js"></script>
</head>
<body>
<input type="text" id="myTextBox" />
</body>
</html>
Когда я ввожу что-то в myTextBox, значение доступно с помощью $("#myTextBox").val()
, но не отображается, если я делаю $("body").html()
. Как я могу захватить строку html и значение обновленной формы? Спасибо!
Вы можете использовать функцию .attr()
.
Пример:
$("input").each(function(){
$(this).attr("value", $(this).val());
});
После этого вы можете сделать:
$("body").html();
Это должно работать.
$('[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()
$('input').each(function(){
$(this).attr('data-value-input', $(this).val());
});
и после этого вы можете получить свой html
var bodyHtml = $('body').html().toString().replace('data-value-input', 'value');
и все.
Хорошо, есть один наиболее простой способ сделать это, используя живую функцию на входе.
$(document).ready(function() {
var checker = false;
$("input").live("change", function() {
checker = (this.defaultValue !== this.value);
if (checker)
this.defaultValue = this.value;
});
});