2016-09-15 119 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"); 
} 

试试这个月可以帮助你