2013-07-01 7 views
6

Im получение ошибки: Uncaught TypeError: Невозможно прочитать свойство '1' of null Источник: X.push (check [1]);Uncaught TypeError: Невозможно прочитать свойство '1' of null

В чем проблема?

wspolrzedne.value = текст, набранный в TEXTAREA как что: «2,4 5 1 67 15 67»

Так может быть, проблема becouse титана не безопасны, что строка с \ п в качестве новой строки?

var coordinates = wspolrzedne.value.split("\n"); 
    var X = []; 
    var Y = []; 


    for(var i = 0; i < coordinates.length; ++i) { 
     var check = coordinates[ i ].match(/^([0-9]+.[0-9]*) ([0-9]+.[0-9]*)$/); 

     if(check == false) { 
       var zlewspolrzedne = Ti.UI.createAlertDialog({ 
       title: "Niew?a?ciwe wspó?rz?dne: " + coordinates[ i ], 
       buttonNames: ['Popraw'], 
       cancel: 0 
      }); 
      zlewspolrzedne.show(); 
     } 

     X.push(check[ 0 ]); 
     Y.push(check[ 1 ]);  

    } 
+0

Где вы ожидаете, что '\ n' появится в строке? Очевидно, что ваше регулярное выражение не будет соответствовать полной строке. FYI, вы можете использовать модификатор 'm' в regex, чтобы переопределить'^'и' $ 'как совпадающие с началом и концом строки вместо начала и конца строки. –

+0

... и если 'check' равно null, то я не знаю, почему он не будет жаловаться на индекс' 0'. Чего-то не хватает. –

+0

Я забыл о том, что входит в мой пример. im ввод текста в textarea 2 числа в каждой строке – lol2x

ответ

2

Это потому, что textArea не заботится о linebreaks, его только простой пробел. Таким образом, решение состоит в том, чтобы разделить на '', а затем объединить каждую из двух (или подавать каждую пару непосредственно в контрольный массив и проверять их содержимое на лету).

Edit:

Итак, проблема эта линия:

var check = coordinates[ i ].match(/^([0-9]+.[0-9]*) ([0-9]+. [0-9]*)$/) 

Он назначает только одно значение вместо двух.

+0

Я проверил, что textArea отправляет строки, чтобы их правильно. – lol2x

+0

Вы имеете в виду, что можете совместить их с "\ n"? –

+0

точно я могу это сделать, но другие вещи не работают. :/ – lol2x

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