从输入框,Javascript,getElementById获取价值

时间:2012-09-06 01:46:24

标签: javascript html textbox

所以我试图获取HTML文本框的值或内容。我尝试了各种类型的方法,但没有一种方法可行。根据调试器,代码在getelementbyid方法停止。注释行是我已经尝试过的方法。其中一些返回null,而其中一些返回NaN,其中大多数只返回一个空白页。 非常感谢帮助。

<html>
<head>
<script type="text/javascript" >
function calculateit(){
document.open();
var number = document.getElementsByName('xyz')[0].value

//var number = document.getElementsByName("xyz").value;
//var number = document.getElementsByName('xyz').value;
//var number = document.getElementsByName("xyz");
//var number = document.getElementsByName('xyz');

//var number = document.getElementsById("xyz").value;
//var number = document.getElementsById('xyz').value;
//var number = document.getElementsById("xyz");
//var number = document.getElementsById('xyz');

//var number = document.form1.xyz.value;  //form 1 was my form name and/or id 


document.writeln(number);

var newtemp = 0;

var newtemp = tempera *9/5+32;

document.write(newtemp);
}

</script>

</head>

<body>
<input type="text" id="xyz" name="xyz">
<button title="calculate" onclick="calculateit()">calculate </button>


</body>
</html>

2 个答案:

答案 0 :(得分:2)

您使用的是错误的方法。 javascript的两种广泛支持的方法是“getElementsByTagName”和“getElementById”。请注意拼写“getElementById”的拼写方式。它旨在获得一个具有您指定的确切ID的元素。 “getElementsByTagName”获取某个标记的所有元素......例如“div”。使用“getElementById”时,不要将其索引或任何内容 - 它返回null(无法找到)或确切的元素引用。从那里开始,因为它是一个textarea,你可以使用“.value”来获取当前值,就像你现在一样。

ALSO:

您可能不应该在呈现页面后使用“document.write”或其任何相关的写入方法。在你的例子中,这正是你正在做的事情,所以一旦你得到“.value”的东西,我就会改变它。关键是“document.write”更适合在页面渲染过程中...所以如果你有与HTML正文内联的javascript。类似的东西:

<html>
<head>

</head>
<body>
    <script type="text/javascript">
        document.write("testing");
    </script>
</body>
</html>

会好的,但仍然不是首选。你在一个函数中使用它的事实,即在按钮单击时调用,意味着它不是在页面渲染期间,不应该使用。更实用的方法是在页面上放置<div>,并在必要时使用“.innerHTML”之类的内容添加文本。这样,事物就是动态的,而不会在实际文档中被覆盖。

答案 1 :(得分:2)

它是getElementById,而不是getElementsById。