If

Hallo

Weshalöb geht dieses Script nicht ich habe es so programmiert das die Zahl kleiner oder gleich wie 1 sein muss oder gleich wie 10 oder kleiner wie 10. Jedoch gehts nicht wieso?

function v()
{
x=document.myForm
at=x.myEmail.value.indexOf("@")
code=x.myCode.value
firstname=x.myName.value
submitOK=„True“
if (at==-1)
{
alert(„Keine gültige E-Mail“)
submitOK=„False“
}
if (code<1 || code>5)
{
alert(„Ihre Zahl muss zwischen 1 und 5 sein.“)
submitOK=„False“
}
if (firstname.lenght<=1 || firstname.lenght>=10)
{
alert(„Ihr Name muss kleine als 10 Zeichen sein.“)
submitOK=„False“
}
if (submitOK==„False“)
{
return false
}
}

E-mail:

Zahl (1 bis 5):

Vorname (max 10 Zeichen):

Hallo

In dieser Zeile

if (firstname.lenght=10)

solltest du das „lenght“ durch „length“ ersetzen.

Gruss
Sam

Hallo,

*Nerv* das Script funktioniert immer noch noch es geht im moment gar nicht wenn ich 10000 eintippe ins Feld kommt nicht mal eine Fehlermeldung.

Script Code:

function v()
{
x=document.myForm
at=x.myEmail.value.indexOf("@")
code=x.myCode.value
firstname=x.myName.value
submitOK=„True“
if (at==-1)
{
alert(„Keine gültige E-Mail“)
submitOK=„False“
}
if (code<1 || code>5)
{
alert(„Ihre Zahl muss zwischen 1 und 5 sein.“)
submitOK=„False“
}
if (firstname.length<=1 && firstname.length>=10)
{
alert(„Grösser oder 1 und kleiner als 10 oder 10“)
submitOK=„False“
}
if (submitOK==„False“)
{
return false
}
}

Hallo dayory

könntest du bitte deinen code in Tags packen? Das wäre dann einfacher zu lesen.

moment gar nicht wenn ich 10000 eintippe ins Feld kommt nicht
mal eine Fehlermeldung.

In welches Feld?

Deine Bedingung

if (firstname.length=10)

sagt „wenn die länge von firstname kleiner oder gleich eins UND grösser oder gleich zehn ist“, was niemals erfüllt sein wird. In der letzten Version war da noch ein „oder“ drin, und damit läuft das Skript bei mir.

Gruss
Sam

Hallo

Achja es ging aber noch eine Frage wieso kann ich die Zahl 1 und 10 nicht benutzen bei

=10 heisst doch 1 oder grösser und 10 oder kleiner

aber es geht jeweils nur kleiner oder grösser…

Hallo

Achja es ging aber noch eine Frage wieso kann ich die Zahl 1
und 10 nicht benutzen bei

Ich weiss leider nicht, wieso du diese Zahlen nicht „benutzen“ kannst, da du ja nicht geruhst mitzuteilen, in welches Feld du sie eintragen willst und was dann genau nicht funktioniert.

Sam

Hallo

Also in diesem Script wenn ich beim letzen Textfeld 1 eingeben sollte es ja funktionieren laut Cod aber es geht nicht auch wenn ich 10 Buchstaben eingebe ins Feld gehts nicht nur 2-9 Zahlen kann ich reintun.

function v()
{
x=document.myForm
at=x.myEmail.value.indexOf("@")
code=x.myCode.value
firstname=x.myName.value
submitOK="True"
if (at==-1) 
 {
 alert("Keine gültige E-Mail")
 submitOK="False"
 }
if (code\<1 || code\>5)
 {
 alert("Ihre Zahl muss zwischen 1 und 5 sein.")
 submitOK="False"
 }
if (firstname.length\<=1 || firstname.length\>=10)
 {
 alert("Ihr Name muss kleine als 10 Zeichen sein.")
 submitOK="False"
 }
if (submitOK=="False")
 {
 return false
 }
}

E-mail:

Zahl (1 bis 5):

Vorname (max 10 Zeichen):

Hallo,

Also ich möchte das ich zwischen 1 -10 zeiche ins feld einsetzen kann auch mit 1 und 10 wenn ich mehr als 10 eingeben das dann kommt alert(‚Fehlermeldung‘)

LG
Nico

Hallo Nico

Dann ist deine Bedingung falsch formuliert: du willst nicht = benutzen, sondern .

Gruss
Sam

1 Like

Hallo Sam

Aber grösser oder kleiner

ich will ja das es grösser oder gleich ist also entweder grösser als 10 oder 10…

MfG
Nico

Hallo nochmal

Wenn wir mal schauen, was dein Code macht, dann sehen wir folgendes:

if (firstname.length=10) 

Wenn die Länge von Firstname kleiner gleich 1 oder grösser gleich 10 ist

 {
 alert("Ihr Name muss kleine als 10 Zeichen sein.")
 submitOK="False"
 }

dann gib die Fehlermeldung aus.

Also: wenn firstname den Wert „A“ hat, ist die Länge 1, somit ist die Bedingung erfüllt und die Fehlermeldung wird ausgegeben. Das gleiche passiert, wenn firstname den Wert „asdfasdfas“ hat: Länge 10, Bedingung erfüllt, Fehlermeldung.

Also willst du kleiner / grösser verwenden.

Gruss
Sam

1 Like

Hallo

Bei > 10

da kann es ja nur Zahl 2 - 9 sein mit einem = könnte ich auch 1 und 10 benutzen da das gleich heisst. Entweder 1 oder grösser (Bla.length=10)

Gruss
Nicolas

Hallo

Achja mit > = wofür benötigt man das grösser oder gleich?

Hallo

Bei

Bla.length10

da kann es ja nur Zahl 2 - 9 sein

Nein. Auch wenn du das dauernd behauptest, ist dem nicht so:

0: erfüllt die Bedingung
1: ist weder kleiner 1 noch grösser 10, erfüllt die Bedingung nicht.
2-9: sind weder kleiner 1 noch grösser 10, erfüllen die Bedingung nicht
10: ist weder kleiner 1 noch grösser als 10, erfüllt die Bedingung nicht
11: ist grösser 10, erfüllt die Bedingung.

Deine Abfrage ist so konstruiert, dass die Fehlermeldung ausgegeben wird, wenn die Bedingung erfüllt ist. Also dürfen alle Werte, die du als gültig durchlassen willst, die Bedingung nicht erfüllen. Und wenn du das Skript einfach mal mit laufen lässt und dir die Ergebnisse anschaust, dann wirst du sehen, dass es das tut, was du willst, zumindest wenn dein Beispielcode hier gestimmt hat.

Siehe dazu auch http://de.wikipedia.org/wiki/Aussagenlogik und http://de.wikipedia.org/wiki/Logischer_Operator .

Gruss
Sam

1 Like

Aber ich finde es unlogisch das if (bla.length

Hallo

Also wie ich das jetzt verstehe heisst dass,
Da die bedinung nicht erfüllt wird weil 10 kleiner als 1 ist
also ist sie falsch

name=10;
if (name.length\<=1);

{
document.write("Zahl:" + name);
}

Hallo

Also wie ich das jetzt verstehe heisst dass,
Da die bedinung nicht erfüllt wird weil 10 kleiner als 1 ist
also ist sie falsch

Das ist ein Scherz, oder?

name=10;
if (name.length<=1);
</pre>

Mit name.length überprüfst du die Länge des Strings „name“, also wieviele Zeichen er enthält. In deinem Beispiel ist name.length gleich 2.

http://de.selfhtml.org/javascript/objekte/string.htm#length

Gruss
Sam

1 Like

Hallo

ich weiss schon was das name.length bedeutet nur das

name=10

if (name.length>5)
{
alert(‚richtig‘)
}
else
{
alert(‚fehler‘)
}

Eigentlich sollte er da doch richtig melden weil 10 grösser als 5 ist

Hallo

ich weiss schon was das name.length bedeutet

nein, das weisst du nicht:

name=10

if (name.length>5)
{
alert(‚richtig‘)
}
else
{
alert(‚fehler‘)
}
Eigentlich sollte er da doch richtig melden weil 10 grösser
als 5 ist

nein. name.length meint _nicht_ den Wert von „name“, sondern die Anzahl Zeichen im String „name“. In diesem Fall sind das zwei. Was kleiner ist als fünf. Wäre name=„Hallo Welt“, wäre name.length gleich 10.

Gruss
Sam
PS: Hast du irgendeinen der Links gelesen?

Aha ok

Ich habe mir den Link von self-html angesehen…
war doch der einzige habe keine andern gefunden link gefunden.
Aber ich hab das problem mit dem => und =