2016-09-15 4 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> 

Моя проблема

Читаю значение идентификатор пользователя, который кидает ошибка, если вход отсутствует.

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

Из-за этой ошибки большая часть функциональности скрипта не работает.

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

пожалуйста, помогите мне исправить ошибку

+0

вы можете попробовать, как 'идента = 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 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"); 
} 

Попробуйте в мае этого года помогает

Смежные вопросы