我有一个html
form
与一些输入字段。
而不是读取和发送值input
字段由document.ipForm.userName.value
,我需要将整个 html 内容发送到 html 解析器并提取<name ,value>
由其他程序(以及其他信息)对每个输入字段进行配对。
但是当我在 JavaScript 中执行此操作时(我想要纯 JavaScript - 而不是其他库)
var contents=document.getElementById("formArea").innerHTML;
alert(contents);
It 不显示 the value="enteredValue"
of <input/>
即使我输入了一些值,字段也是如此。
我的 HTML 文件:
<html>
<head>
<script type="text/javascript">
function showInnerHtml(){
var contents=document.getElementById("formArea").innerHTML;
alert(contents);
}
</script>
</head>
<body>
<div id="formArea">
<form name="ipForm" >
UserName : <input type="text" name="userName">
</form>
</div>
<div> other contents..... </div>
<div onclick="showInnerHtml()">Show InnerHTML</div>
</body>
</html>
我在这里遗漏了一些东西还是这是不可能的。
别叫我疯子。但我正在与这种奇怪的情况作斗争。
那是因为value
是填充文本框时的属性,而不是属性。这意味着.value
工作正常,但它不是作为属性的实际 DOM 的一部分(例如<input value="...">
).
您需要明确设置它:
document.getElementById("html").onclick = function() {
var elems = document.getElementsByName("ipForm")[0]
.getElementsByTagName("input");
for (var i = 0; i < elems.length; i++) {
// set attribute to property value
elems[i].setAttribute("value", elems[i].value);
}
alert(document.getElementsByName("ipForm")[0].innerHTML);
};
<form name="ipForm">
UserName : <input type="text" name="userName">
</form>
<button id="html">get innerHTML</button>
在 jsFiddle 上查看 http://jsfiddle.net/BkjhZ/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)