jquery:无法读取未定义的属性
2016-09-15
742
我想读取表单中输入的值。
有时表单包含输入
<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>
我的问题是
我正在读取 userid 值,如果输入不存在则会引发错误。
var form = document.getElementById("myform");
userid = form.userid.value;
由于此错误,大多数脚本功能无法正常工作。
if(pack_id !=undefined && pack_id ==''){
pack_id=0;
}
请帮我纠正错误
3个回答
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
)是否存在
guradio
2016-09-15
您可以在获取值之前应用未定义的检查
if(form.userid!=undefined){
userid = form.userid.value;
}
Keshav
2016-09-15
您可以通过 typeof 方法检查 userid 属性是否存在于表单 JavaScript dom 元素对象中。
var form = document.getElementById("myform");
userid="";
if(typeof form.userid !=="undefined" )
{
userid = form.userid.value;
}
Haresh Vidja
2016-09-15