2015-01-26 49 views
-3

这里是我的HTML:无法访问[对象HTMLInputElement]的价值

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    </head> 
    <body> 
     <form style="clear: left;" id="form"> 
      <input type="text" id="name" disabled="true" value="/path/to/device"> 
      <select name="Mode" id="mode"> 
       <option value="GEN">Generate Data</option> 
       <option value="XBEE">Receive via XBEE</option> 
       <option value="SD">Read SD card</option> 
      </select> 

      <input type="text" id="path" disabled="true" value="/path/to/device"> 
      <select name="Baud Rate" id="baud" disabled="true"> 
       <option value="9600">9600</option> 
      </select> 

      <button type="button" id="control">Start</button> 
     </form> 

     <textarea rows="50" cols="80" id="log" maxlength="1000"> 
     </textarea> 

     <script type="text/javascript" src="http://127.0.0.1:8000/static/dataLogger/js/socket.io.js"></script> 
     <script type="text/javascript" src="http://127.0.0.1:8000/static/dataLogger/js/main.js"></script> 
</body> 
</html> 

而且我的javascript:

var form = document.getElementById("form"); 
var modeSelect = document.getElementById("mode"); 
var name = document.getElementById("name"); 
var path = document.getElementById("path"); 
var baud = document.getElementById("baud"); 
var submit = document.getElementById("control"); 

console.log(name); 
console.log(name.value); 
console.log(path); 
console.log(path.value); 

当我运行此代码,以下是输出:

[object HTMLInputElement] 
undefined 
input#path 
/path/to/device 

我不确定为什么第二个输入有效,但第一个我没有尝试过使用其他选择器,如getElementsByTagName但这给出了相同的结果。有任何想法吗?

+2

它工作正常:) [演示](http://jsfiddle.net/rure96fh/) – 2015-01-26 18:21:01

+1

你期望什么?如果你正在检索一个元素,是不是只有逻辑才能得到一个元素? – Teemu 2015-01-26 18:28:49

+0

@Teemu那么...... 1)这两个元素在返回的格式上明显不同。一个返回“[对象HtmlInput]”,一个返回“输入#路径”是不是逻辑,格式将是相同的。 2)两者都有价值。是不是我应该能够检索这两个值的逻辑? – williamg 2015-01-26 19:00:19

回答

0

我不知道name是Javascript中的保留字。将var name更改为其他问题修复了此问题。