32

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

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

4

6 回答 6

34

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

Chrome 开发者工具有一个属性选项卡,显示有用的 DOM 属性。

另请参阅MDN以获取参考。

于 2013-03-13T11:21:19.827 回答
33

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

alert(element.value);

请参阅此jsFiddle中的示例。

此外,看到您开始学习 HTML,您可能会考虑使用console.log()而不是alert()用于调试目的。它不会中断脚本的执行流程,并且您可以使用开发人员工具(显然除了那个)查看几乎每个浏览器中的所有日志。

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

于 2013-03-13T11:19:53.897 回答
5

这不是因为您使用了警报,而是在使用 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>

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);

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

于 2020-04-04T20:39:29.023 回答
2

改变:

$("input:text").change(function() {
    var value=$("input:text").val();
    alert(value);
});

$("input:text").change(function() {
    var value=$("input[type=text].selector").val();
    alert(value);
});

注意:选择器:id,类..

于 2015-07-21T04:51:40.130 回答
1
<input type="text" />
<script>
$("input:text").change(function() {
    var value=$("input:text").val();
    alert(value);
});
</script>

使用 .val() 获取元素的值(jquery 方法),使用 $("input:text") 这个选择器来选择您的输入,使用 .change() 将事件处理程序绑定到“更改”JavaScript 事件。

于 2013-08-16T06:02:12.583 回答
-1

例如,当您从客户那里获得价值时,该价值。

var current_text = document.getElementById('user_text').value;
        var http = new XMLHttpRequest();
        http.onreadystatechange = function () {

            if (http.readyState == 4 &&  http.status == 200 ){
                var response = http.responseText;
              document.getElementById('server_response').value = response;
                console.log(response.value);


            }
于 2017-06-29T21:10:28.663 回答