输入文本框在Javascript中返回未定义

时间:2016-06-15 21:31:29

标签: javascript jquery forms text box

这是我的HTML:

<form name='cred' class="panel-body2">
  <div class="form-group">
    <label for='addjidlbl'> Username (JID):</label>
    <input type='text' id='addjid' />
  </div>
  <input type='button' id='add' value='add' />
</form>     

这是JavaScript:

$('#add').bind('click', function() {
  var jid = $('#addjid').value; 
  alert(jid);
  //var jid=document.getElementById('addjid').value;    
  var jid2 =$('#addjid').get(0).value; 
  alert(jid2);
  //  //$('#addjid').get(0).value; 
  log('jid=>'+jid);
  var data = document.getElementById("addjid").value; //$(".panel.panel-default2#addjid").value;
  alert(data);

  alert("type=>"+ typeof(jid));
  addRoster(jid);
});

function addRoster(jid) {
  log('addRoster=>' + jid);
}

我得到的是两个带有“undefined”的消息框,第三个带有“type =&gt; undefined”的消息框。为什么我无法获取addjid文本框的输入文本?

如果我更改var jid = $('#addjid').get(0).value;,即使文本框有值,jid也只是空白。为什么?

4 个答案:

答案 0 :(得分:4)

将.value更改为.val(),如

  

$(&#39;#addjid&#39)。值

应该是

  

$(&#39;#addjid&#39)。VAL()

答案 1 :(得分:0)

如果我理解正确,你想:

$('#addjid').val()

答案 2 :(得分:0)

由于您使用id来获取值,因此您将只有一个具有给定id的元素。当您执行.get(0)或任何索引时,通常会尝试从给定的值数组中获取值。对于Ex

<li>first</li> //0
<li>second</li> //1

在这样的结构中你会做类似的事情     $( “李”)。得到(0)

它将为您提供li中的第一个项目。

并获得您需要使用的值 .val()

所以你可以使用

 $('#addjid').val()

希望这会对你有所帮助。

快乐学习:)

答案 3 :(得分:0)

您可以使用.val()

进行操作

在文本框中添加一些文字 单击添加按钮,将弹出警告

&#13;
&#13;
$('#add').on('click', function() {
  alert($('#addjid').val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name='cred' class="panel-body2">
    <div class="form-group">
      <label for='addjidlbl'> Username (JID):</label>
      <input type='text' id='addjid' />
    </div>
  <input type='button' id='add' value='add' />
</form>
&#13;
&#13;
&#13;