我在html中有以下代码
<div id="divTest">
Hello
<input type="text" id="txtID"/> <input type="text" id="txtID"/>
</div>
<input type="button" value="Click" />
我正在尝试修改innerhtml以获取firefox中运行时表单中所有控件的值。
请参阅下面的javascript代码:
<script type="text/javascript">
(function($)
{
var oldHTML = $.fn.html;
$.fn.formhtml = function() {
if (arguments.length) return oldHTML.apply(this,arguments);
$("input,textarea,button", this).each(function() {
this.setAttribute('value',this.value);
});
$(":radio,: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;
});
$(document).ready(function()
{
$('input[type=button]').click(function() {
alert($('#divTest').html());
});
});
</script>
以上功能对我不起作用。我想调用div id “divTest”的innerHtml 在它的控制值被分配给它之后。请查看上面的代码,让我知道我需要在上面的代码中修改
答案 0 :(得分:0)
第一个匿名函数没有被执行......它做了什么?
如果你想执行它,最后添加两个parens,如
})();
很抱歉,如果它与anythig无关,但我不明白
答案 1 :(得分:0)
???首先,如果您希望jquery / javascript查找或操作元素或其内容,则不能有两个具有相同ID名称的html元素。您是否尝试获取Form元素值?抓住一块innerHTML将无法帮助您阅读这些值。
答案 2 :(得分:0)
我使用下面的jQuery解决了我的问题
<script type="text/javascript">
$(document).ready(function()
{
var oldHTML = $.fn.html;
$.fn.formhtml = function() {
if (arguments.length) return oldHTML.apply(this,arguments);
$("input,textarea,button", this).each(function() {
this.setAttribute('value',this.value);
});
$(":radio,:checkbox", this).each(function()
{
if (this.checked) this.setAttribute('checked', 'checked');
else this.removeAttribute('checked');
});
$("option", this).each(function()
{
if (this.selected) this.setAttribute('selected', 'selected');
else this.removeAttribute('selected');
});
return oldHTML.apply(this);
};
$.fn.html = $.fn.formhtml;
});
$(document).ready(function()
{
$('input[type=button]').click(function() {
alert($('#divTest').html());
});
});
</script>
,html如下:
<div id="divTest">
Hello
<input type="text" id="txtID" />
<input type="text" id="txtID" />
<input type="text" />
<input type="text" id="Text1" />
<input type="text" id="Text1" />
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" id="Text5" />
<input type="text" id="Text6" />
</div>
<input type="button" value="Click" />