donnerkai
Goto Top

Javascript Prüfung nach Wert

Hallo,

ich möchte mit einem Javascript abprüfen ob eine Eingabe in einem Textfeld einem vorher definiertem Katalog entspricht.

Ich habe es zunächst so gelöst:

{
alert("Die Nummer ist falsch");
document.Formular.jvanummer.focus();
return false;
}


jetzt möchte ich aber nicht nur auf die 523 und 524 prüfen, sondern auf 50 weitere Werte.
Gibt es dafür eine kürzere Lösung als meine?
ja 50 mal schreiben.

Für eine Lösung wäre ich dankbar

Content-ID: 196748

Url: https://administrator.de/contentid/196748

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

Hitman4021
Hitman4021 10.01.2013 um 12:04:55 Uhr
Goto Top
Hallo,

ja gibt es.

Ungetestet!
suchbegriff = new Array(523, 524, ..., element_n);

if (notinArray(suchbegriff, document.Formular.Kontrollnummer.value)
{
alert("Die Nummer ist falsch");  
document.Formular.jvanummer.focus();
return false;
}

function notinArray(arr, val){
	for(i = 0; i < arr.length; i++){
		if (arr[i] == val) return false;
	}
	return true;
}

Gruß
nxclass
nxclass 10.01.2013 aktualisiert um 13:57:19 Uhr
Goto Top
Hallo,
möchte dazu noch meinen Senf geben:
/**
 * PHP's in_array() alias 
 * @param value   mixed value
 * @return bool
 */
Array.prototype.hasValue = function(value)
{
    for (var key in this ) {
        if (
            ( Object.prototype.toString.call( this[key] ) === '[object Array]' && this[key].hasValue(value) )  
            || this[key] === value
        ) {
            return true;
        }
    }
    return false;
}
nun kannst du einfach prüfen mit:
/* @var myval  dein Array mit den Werten */
if (myval.hasValue( 3 )) { }

... die 50 Werte kannst du Dir auch dyn. holen wenn diese nicht im JS stehen sollen.
Hitman4021
Hitman4021 11.01.2013 um 12:00:38 Uhr
Goto Top
Hallo,

wenn es das war
Wie kann ich einen Beitrag als gelöst markieren?
nicht vergessen.

Gruß