【问题标题】:Get value inside a text field - JavaScript - jQuery在文本字段中获取值 - JavaScript - jQuery
【发布时间】:2012-03-03 15:37:56
【问题描述】:

我有一个页面部分如下;

<input name="test1" type="text" id="test1" class="test1">
<button value="hi" id="but">hi</button>

我想在用户输入的文本字段中获取数据。我尝试了以下方法;

$(document).ready(function(){
var test2 = $('#test1').val();
        $('#but').click(function() {
        alert(test2);
});
});

当用户点击按钮hi 时,页面会提醒文本字段内的文本。但是即使里面有文字,警报也会变成空白(没有文字)。当我重新加载页面时,文本字段内的文本仍然存在,当我再次单击按钮时,脚本可以很好地提醒里面的文本。再次,当我清除文本并给出另一个文本时,当我单击按钮时,警报将与以前的文本一起出现。

我正在使用 jQuery。

Here 是小提琴。

我想通过文本区域内的文本获得警报。我该怎么做?

【问题讨论】:

  • 在点击事件中移动test2分配代码

标签: javascript jquery


【解决方案1】:

你可以这样做:

$('#but').click(function() {
    alert($('#test1').val());
});​

或者:

$('#but').click(function() {
    var val = $('#test1').val();
    alert(val);
});​

Working Example

【讨论】:

    【解决方案2】:

    这是最简单的方法

    <input name="test1" type="text" id="test1" class="test1">
    <button value="hi" id="but" onclick="buttonClicked()">hi</button>
    
    <script>
    function buttonClicked(){
      alert(jQuery("input#test1").val())
    }
    </script>
    

    享受

    【讨论】:

      【解决方案3】:

      您在处理程序之外获取页面加载的值。您需要将其移动到点击处理程序中,否则您只会获得页面加载时获取的值:

      $(document).ready(function(){
          $('#but').click(function() {
               var test2 = $('#test1').val();
               alert(test2);
          });
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-06
        • 1970-01-01
        • 1970-01-01
        • 2015-03-06
        • 2014-08-04
        • 1970-01-01
        相关资源
        最近更新 更多