[英]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.