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
}
}
*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
}
}
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.
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.
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
}
}
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‘)
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.
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.
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?
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 =