2016-09-15 65 views
1

我想讀取表單中輸入的值。jquery:無法讀取undefined的屬性

有時形式包含輸入

<form id="myform"> 
    <input type="text" name="username"> 
    <input type="hidden" name="userid" value="123"> 
</form> 

有時上面的投入將不會在形式

<form id="myform"> 
    <input type="text" name="username"> 
</form> 

我的問題是

我讀它拋出的用戶ID值錯誤如果輸入不存在。

var form = document.getElementById("myform"); 
userid = form.userid.value; 

由於此錯誤,大多數腳本功能無法正常工作。

if(pack_id !=undefined && pack_id ==''){ 
    pack_id=0;  
} 

請幫我糾正錯誤

+0

你可以嘗試像'用戶id = form.userid? form.userid.value:「」;' – vijayP

+0

@vijayP非常感謝你 – scriptkiddie

回答

1

var ext = $('input[name=userid]').length; 
 

 

 
if (ext) { 
 
    alert('input is here') 
 

 
} else { 
 

 
    alert('not input is here') 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="myform"> 
 
    <input type="text" name="username"> 
 
</form>

檢查長度如同輸入的$('input[name=userid]').length它存在與否

1

可以得到價值前申請未定義檢查

if(form.userid!=undefined){ 
userid = form.userid.value; 
} 
1

你可以通過typeof方法檢查userid屬性是否存在或者不在表單中的JavaScript dom元素對象。

var form = document.getElementById("myform"); 
userid=""; 
if(typeof form.userid !=="undefined") 
{ 
    userid = form.userid.value; 
} 
1
var userIdCheck=$('#userId').val(); 
if(userIdCheck!=='undefined'){ 
alert("Ther is a input"+userIdCheck); 
} 
else{ 
alert("User Id does not contain the value"); 
} 

試試這個月可以幫助你