Jag håller på att göra en gästbok och nu är det sista kvar att göra, mitt JScript för att slippa felaktiga inlägg.
Men det är några saker jag undrar över.
<!-- Begin
function fixElement(element, message)
{
alert(message);
element.focus();
}
function gb(form)
{
var passed = false;
if (form.gbnamn.value.length < 3)
{
fixElement(form.gbnamn, "Ditt namn måste innehålla minst 3 tecken.");
}
else if (form.gbemail.value.length > 0)
{
if (form.gbemail.value.indexOf("@") == -1 || form.gbemail.value.indexOf(".") == -1) // - Se raden under, annars hamnar den utanför tråden -
{//Här "stannar" skriptet. Jag försökte med en break; men då fick jag felmeddelande om att jag bara kan ha break; i loopar...
fixElement(form.gbemail, "Din email är inte giltig.");
//Eller det är egentligen exakt här den stannar.
}
}
else if (form.gbhemsida.value.length > 0 && form.gbemail.value.indexOf(".") == -1)
{
fixElement(form.gbmeddelande, "Hemsidan är inte giltig.");
}
else if (form.gbmeddelande.value.length < 3)
{
fixElement(form.gbmeddelande, "Meddelandet måste innehålla minst 3 tecken.");
}
else
{
passed = true;
}
return passed;
}
// End -->
Läs dom oranga kommenterarna, där förklarar jag felen...
//Krille
Som jag förstår det vill du att varje if-sats ska köras vid kontroll? Som det är nu så utförs bara ett vilkor. Detta p.g.a att du använder if else. Om du vill att alla if satser ska köras får du ta bort else. exempel.
function gb(form)
{
var passed = true;
if (form.gbnamn.value.length < 3)
{
fixElement(form.gbnamn, "Ditt namn måste innehålla minst 3 tecken.");
passed = false;
}
if (form.gbemail.value.length > 0)
{
if (form.gbemail.value.indexOf("@") == -1 || form.gbemail.value.indexOf(".") == -1) // - Se raden under, annars hamnar den utanför tråden -
{//Här "stannar" skriptet. Jag försökte med en break; men då fick jag felmeddelande om att jag bara kan ha break; i loopar...
fixElement(form.gbemail, "Din email är inte giltig.");
passed = false;
//Eller det är egentligen exakt här den stannar.
}
}
if (form.gbhemsida.value.length > 0 && form.gbemail.value.indexOf(".") == -1)
{
fixElement(form.gbmeddelande, "Hemsidan är inte giltig.");
passed = false;
}
if (form.gbmeddelande.value.length < 3)
{
fixElement(form.gbmeddelande, "Meddelandet måste innehålla minst 3 tecken.");
passed = false;
}
return passed;
}
Tack, fungerar bra.
Har en till fråga... Nu måste gbhemsida innehålla en punkt.
Jag skulle vilja göra att den måste innehålla MINST en punkt.
if (form.gbhemsida.value.length > 0 && form.gbemail.value.indexOf(".") == -1)
Hur gör jag då?
du gör precis som du gjort med gbemail.
EDIT: ah såg att du gjort fel i din urpsrungskod. byt ut gbemail mot gbhemsida i din if-sats ovan
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.