2014-10-17 4 views
1

У меня есть очень простая форма с полем выбора, которое может содержать несколько опций.Значение jQuery поля не определено

При отправке моей формы я проверяю длину и, если она содержит хотя бы одно значение, я генерирую XML-строку для каждого из них.

var type = $('[name=advancedType]').val(), 
    newType = type.split(','), 
    typeXML; 

if(newType.length > 0){ 
     typeXML = '<types>'; 
     for(var i = 0; i<newType.length; i++){ 
      typeXML += '<type>'; 
      typeXML += '<typeID>'+newType[i]+'</typeID>'; 
      typeXML += '</type>'; 
     } 
     typeXML += '</types>'; 
    }else{ 
     typeXML = ''; 
    } 

Когда тип имеет выбранную опцию, он работает нормально, но когда я ничего не выбираю, он говорит, что тип не определен.

Как я могу заставить это работать по назначению? Кажется, так просто ..

ответ

3
var newType = (type && type.split(',')) || []; 
+0

Хм, теперь он говорит, 'type.split' не является функцией, когда я выбрать один, и он отлично работает, когда я не выбрать один .. – SBB

+0

Использовать console.log перед выполнением раскол, чтобы узнать, каково ваше значение для каждого случая. – chazsolo

+0

'type = ($ ('[name = advancedType]'). val()) || [], 'Я получил это, чтобы работать так; устранение раскола в целом – SBB