使用 INPUT 标签的 VALUE 属性(及其值)读取 HTML 表单的innerHTML
我有一个带有一些输入字段的 html
form
。
我不需要通过 document.ipForm.userName.value
读取和发送 input
字段的值,而是需要将整个 html 内容发送到 html 解析器并提取 由某些其他程序(以及其他信息)对每个输入字段的<名称,值>
对。
但是当我在 JavaScript 中执行此操作时(我想要纯 JavaScript,而不是其他库)
var contents=document.getElementById("formArea").innerHTML;
alert(contents);
,它不显示 的
字段,即使我输入了一些值。value="enteredValue"
我的 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>
我是否在这里遗漏了一些东西,或者这是不可能的。
别叫我疯子。但我正在与这种奇怪的情况作斗争。
I have a html
form
with some input fields.
Instead of reading and sending the values of input
fields by document.ipForm.userName.value
, I need to send the whole html content to html parser and extract the <name ,value>
pair of each input field by some other program( and other information too).
But when i did this in JavaScript(i want pure JavaScript- not other library)
var contents=document.getElementById("formArea").innerHTML;
alert(contents);
It doesnot shows the value="enteredValue"
of <input/>
fields even if i entered some values.
My HTML File:
<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>
Am i missing something here or this is not possible.
Don't call me MAD. but i am struggling with this strange condition.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是因为
value
是填充文本框时的属性,而不是属性。这意味着.value
工作正常,但它不是作为属性的实际 DOM 的一部分(如)。
您需要明确设置它:
在 jsFiddle 上查看
That's because
value
is a property when the textbox is filled in, not an attribute. This means that.value
works fine, but it's not part of the actual DOM as an attribute (like<input value="...">
).You'd need to set it explicitly:
View on jsFiddle
您还可以编写一个输入,该输入将更改其属性,如下所示:
对于复选框:
享受:)
You can also write an input which will change itself his attribute, like this :
And for checkboxes :
Enjoy :)