Javascript,查看[对象HTMLInputElement]

iPh*_*per 25 html javascript

我刚刚开始学习HTML.在alert()我的一个变量上做一个给我这个结果[object HTMLInputElement].

如何获取在文本字段中添加的数据,我的输入类型是文本?

Xav*_*ica 26

如果元素是a <input type="text">,则应查询value属性:

alert(element.value);
Run Code Online (Sandbox Code Playgroud)

请参阅此jsFiddle中的示例.

此外,看到您开始学习HTML,您可能会考虑使用console.log()而不是alert()用于调试目的.它不会中断脚本的执行流程,你可以拥有所有日志的总体视图与开发工具几乎所有浏览器(除了那一个,很明显).

当然,您可以考虑使用像Firebug这样的Web开发工具,它是Firefox的强大插件,提供了许多功能(调试javascript代码,DOM检查器,实时DOM/CSS更改,请求监视). ..)


sim*_*ack 23

假设您的变量是myNode,您可以myNode.value检索输入元素的值.

Firebug有一个"DOM"选项卡,显示有用的DOM属性.

另请参阅mozilla页面以获取参考:https://developer.mozilla.org/en-US/docs/DOM/HTMLInputElement


Har*_*yan 5

这不是因为你使用了alert,当使用document.write()时也会发生这种情况。当您将任何标签的 id 或类命名为与 JavaScript 代码中使用的任何变量相同时,通常会出现此问题。尝试更改 javascript 变量名称或更改标签的 ID/类名称。

我的代码示例: bank.html

<!doctype html>
<html>
<head>
    <title>Transaction Tracker</title>
    <script src="bank.js"></script> 
</head>
    <body>
        <div><button onclick="bitch()">Press me!</button></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

JavaScript 代码: bank.js

function bitch(){ amt = 0;
var a = Math.random(); ran = Math.floor(a * 100);
return ran; }

function all(){
amt = amt + bitch(); document.write(amt + "
"); } setInterval(all,2000);
Run Code Online (Sandbox Code Playgroud)

你可以从我的代码中看看并理解这个概念。这里我在 JS 中使用了一个名为“amt”的变量。你只要尝试运行我的代码即可。它会工作得很好,但是当你在 html 正文中为 div 标签添加 [id="amt"](不带方括号)(这是 JS 代码中的变量名称)时,你会看到与你正在讨论的相同的错误。所以简单的解决方案是更改变量名称或 id 或类名称。