簡體   English   中英

輸入文本框返回Java中未定義的

[英]Input Text Box Returns Undefined in Javascript

這是我的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);
}

我得到的是帶有“未定義”的兩個消息框和帶有“ type => undefined”的第三個消息框。 為什么無法獲取addjid文本框的輸入文本?

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

將.value更改為.val()

$('#addjid')。value

應該

$('#addjid')。val()

如果我理解正確,則需要:

$('#addjid').val()

由於您使用ID來獲取值,因此只有一個具有給定ID的元素。 當您執行.get(0)或任何索引時,通常會嘗試從給定的值數組中獲取值。 對於前

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

在這種結構中,您將執行類似$(“ li”)。get(0)的操作

它會給您帶li的第一項。

並獲取值,您將需要使用.val()

所以你可以使用

 $('#addjid').val()

希望這對您有所幫助。

快樂學習:)

在這里,您可以使用.val()

在文本框中添加一些文本,然后單擊添加按鈕,警報將彈出

 $('#add').on('click', function() { alert($('#addjid').val()); }); 
 <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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM