Uncaught TypeError: Cannot read property '1' null
Im erhalte eine Fehlermeldung: Uncaught TypeError: Cannot read property '1' ist null Quelle: X. push( check [ 1 ]);
was ist das problem?
wspolrzedne.Wert = eingegebene text in textArea, wie: "2.4 5 1 67 15 67"
Also, vielleicht das problem ist, dass Titan nicht sicher, dass der string mit \n neue Zeile?
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 ] );
}
Wo erwarten Sie die
...und wenn
ich vergaß in meinem Beispiel. im Eingabe in der textarea-2 zahlen in jeder Zeile
ich bin sicher, dass dieser code funktioniert im normalen js jsfiddle.net/fzYe7/10
\n
erscheinen in den string? Klar dein regex übereinstimmen, wird nicht der komplette string. FYI, können Sie die m
Modifikator auf die regex zu definieren ^
und $
als passend zum Beginn und Ende einer Zeile statt Beginn und Ende der Zeichenfolge....und wenn
check
null ist, dann weiß ich nicht, warum es wäre nicht beklagen index 0
. Irgendwas fehlt.ich vergaß in meinem Beispiel. im Eingabe in der textarea-2 zahlen in jeder Zeile
ich bin sicher, dass dieser code funktioniert im normalen js jsfiddle.net/fzYe7/10
InformationsquelleAutor lol2x | 2013-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, weil
textArea
kümmert sich nicht umlinebreaks
, es ist nur ein einfaches Leerzeichen. Also die Lösung ist ein split von '' und dann concat jeweils zwei von Ihnen (oder Futter alle paar direkt, um den check-Arrays und überprüfen Sie Ihre Inhalte on-the-fly).
Edit:
Ok, also das problem ist diese Zeile:
Es weist nur einen Wert und nicht zwei.
Sie bedeuten, dass Sie können passen Sie Sie mit "\n"?
genau kann ich es tun, aber die anderen Dinge funktionieren nicht. :/
Ok, also das problem ist diese Zeile: var check = Koordinaten[ i ].match( /^([0-9]+.[0-9]*) ([0-9]+. [0-9]*)$/ ) Es weist nur einen Wert und nicht zwei.
InformationsquelleAutor