我有这个代码:
<div id='html'><input type='text' value='' /></div><br><a onClick="alert(document.getElementById('html').innerHTML);">click me</a>
http://jsfiddle.net/EQ88q/
如果您更改输入值并单击"单击我",您将看不到真正的输入值。是否有任何专有而不是"innerHTML"来获取真正的值?
PS:我使用的是纯JavaScript,我不能使用任何库。
这将起作用,但它非常粗糙:
<div id='html'>
<input type='text' value=''/>
</div>
<script>
function LinkClick()
{
var ele = document.getElementById('html');
ele.children[0].setAttribute("value",ele.children[0].value);
alert(ele.innerHTML);
}
</script>
<br><a onClick="LinkClick()">click me</a>
我看到ComCrure刚刚在评论中提供了这个确切的答案
elem.innerHTML
是元素内部的 HTML 代码。在这种情况下,innerHTML
为空字符串,因为标记内没有内容。
应使用 input_elem.value
获取输入元素的 value
属性。