【问题标题】:get html element value after changing it更改后获取html元素值
【发布时间】:2015-01-18 15:36:52
【问题描述】:

在一个视图中,我试图在更改后检索 html 输入框的值。换句话说,页面加载

<input id="input_one" type="text" value = "apple" />

当页面打开时,输入框里有苹果这个词。我点击这个输入框,把apple这个词删掉,然后把“orange”这个词写进去。当我执行以下操作时:

$('#input_one').click(function() {
    console.log($('#input_one').attr('value'));
});

结果是“苹果”而不是橙色。有没有办法在不提交表单的情况下获取我刚刚输入的新值?我正在尝试在页面上使用 javascript 进行客户端验证,如果值是某物,则提交表单,否则显示消息“值必须是某物”

也许我可以做类似的事情

 $('#input_one').attr('value', 'new value'); 

但是我如何获得我刚刚输入的新值?这个新值存储在哪里?内部HTML?或者 text() 也许?

【问题讨论】:

  • 你应该看看val()方法。
  • 非常感谢,正在研究中
  • @Asik 感谢您指出这一点,我已经有一个 .click 事件,忘记包含它。
  • @both,谢谢..我删除了我的评论..
  • 无论如何,其他人比我更了解..无论如何没问题..谢谢:)

标签: javascript jquery html


【解决方案1】:

attr() 将获得&lt;input&gt;属性,即元素的初始值。

元素的当前值是一个属性。如果我们想获取任何元素属性:

$('#input_one')[0].value;    
$('#input_one').prop('value');

不过, jQuery 有一个完美的方法,.val(), 适合你:

$('#input_one').val();

What is the difference between attribute and property?

【讨论】:

  • 这行得通,谢谢!并感谢您的详细解释
【解决方案2】:

改用.val()

$('#input_one').val();

【讨论】:

    【解决方案3】:

    试试这样的:

    $("#input_one").blur(function() {
       alert(this.value); 
    });
    

    这会在您每次使输入框失焦时提醒输入框的新值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 2015-12-01
      相关资源
      最近更新 更多