获取内部 HTML 如已更改
get innerHTML AS HAS BEEN CHANGED
>最初表单可能具有如下字段:
<input type="text" name="Age" value="" />
无论如何,您用值 34 填充它
很简单,我想存储表单作为最后状态的缓存快照,如下所示:
<script language="JavaScript">
document.getElementById('cached').value=document.getElementById('form1').innerHTML;
</script>
但是,我得到的结果只是:
<input type="text" name="Age" value="" />
与我想要的值为 34 相比:
<input type="text" name="Age" value="34" />
有什么方法可以获得"实时"的内部 HTML? 我肯定会在这里接受jQuery解决方案。 谢谢!
甚至 jquery 也会返回相同的结果。 你需要在这里做一些技巧。因为当你填写一个字段时,你并没有真正设置HTML专有的值。
var snapshot = $('#field_ID').clone();
var ssv = $('#field_ID').val();
var snapshot = snapshot.attr('value' , ssv);
现在,如果您使用
$('body').append(snapshot);
您将获得值为 .
何时拍摄快照
了解何时拍摄这些快照的最佳方法是当用户开箱即用时
$('#field_ID').focusout(function(){
var snapshot = $(this).clone();
var ssv = $(this).val();
var snapshot = snapshot.attr('value' , ssv);
$('body').append(snapshot);
})
@all,以下是对我有用的方法:
//http://stackoverflow.com/questions/1388893/jquery-html-in-firefox-uses-innerhtml-ignores-dom-changes
(function($) {
var oldHTML = $.fn.html;
$.fn.formhtml = function() {
if (arguments.length) return oldHTML.apply(this,arguments);
$("input,button", this).each(function() {
this.setAttribute('value',this.value);
});
$("textarea", this).each(function() {
// updated - thanks Raja & Dr. Fred!
$(this).text(this.value);
});
$("input:radio,input:checkbox", this).each(function() {
// im not really even sure you need to do this for "checked"
// but what the heck, better safe than sorry
if (this.checked) this.setAttribute('checked', 'checked');
else this.removeAttribute('checked');
});
$("option", this).each(function() {
// also not sure, but, better safe...
if (this.selected) this.setAttribute('selected', 'selected');
else this.removeAttribute('selected');
});
return oldHTML.apply(this);
};
//optional to override real .html() if you want
// $.fn.html = $.fn.formhtml;
})(jQuery);
这给了我,不是表单数组,而是表单 WITH mods 的"innerHTML"在提交时对数据。 这是一种快速简便的方法,可以重新创建给定时间的表单 - 如果您愿意,可以创建快照。 我在多步骤过程中使用它,以允许用户快速的"后退"按钮选项,该选项不会触及数据库或需要大量的 PHP 处理。
相关文章:
- Javascript内部HTML动画
- Javascript,在body_class()=登录时更改内部html
- 带有输入值的内部HTML
- 内容可编辑分区-根据内部HTML位置的光标位置
- Chrome扩展:是否有一种方法可以运行JavaScript来获取页面上的内部html,并将其保存到扩展中的变量中
- 能够获取元素长度,但不能获取内部 HTML
- 如何在文本框中显示内部 HTML 输出
- 如何通过内部HTML设置图像
- 为什么我不能在变量上使用内部HTML属性
- 获取@Media打印类型的内部 HTML
- Javascript和CSS,内部HTML与外部文件
- 如何在委托中获取列表项中元素的内部HTML
- 敲除数据绑定=“;html:html,内部html点击事件不起作用
- 从内部HTML中删除所有锚标记或链接到 wikipedia.com
- 用jQuery.html更新span内部html在IE中不起作用
- 编译角度代码以便能够执行内部html操作
- 在html中未定义,使用内部html
- jsp内部html中的Javascript静态变量
- 如何为iframe的内部html编写css
- 使用javascript获取内部HTML元素