Avatar billede gizp Nybegynder
02. oktober 2005 - 18:22 Der er 13 kommentarer og
2 løsninger

Tjek af felt.

Jeg har kigget lidt rundt, men fandt ikke lige et emne, hvilket der sikkert er ;D

Men, nogen der lige kan fikse et javascript, som når man trykker på en submit knap, tjekker om input feltet emne indeholder noget tekst eller tal. Hvis dette ikke er tilfældet skal den skrive en alertbox med fejlen, og så skal der ikke ske mere. Modsat hvis der er skrevet, så skal det bare fungerer som normalt.

På forhånd tak :)

/gizp
Avatar billede horsmark Nybegynder
02. oktober 2005 - 18:27 #1
check evt. http://privat.tdc.dk/internet/bredbaand/bestil/ og kig i kildekoden der har du alt du behøver til super validering :-)
Avatar billede gizp Nybegynder
02. oktober 2005 - 18:30 #2
Uh ha, mine JavaScript evner er ikke ligefrem gode. Faktisk decideret dårlige, hehe.
Avatar billede softspot Forsker
02. oktober 2005 - 19:22 #3
Placer flg. script-stump i head-sektionen af siden:

<script type="text/javascript">
window.onload = function() {
  document.forms[0].onsubmit = function() {
    var frm = document.forms[0];
    var bRes = true;
    for(var i = 0; i < frm.elements.length; i++) {
      bRes = bRes && frm.elements[i].value != "";
    }
    if(!bRes) alert("Alle felter skal udfyldes");

    return bRes
  }
}
</script>
Avatar billede gizp Nybegynder
02. oktober 2005 - 19:56 #4
softspot >> Det script giver så lidt problemer, kan det ikke gøres sådan at det kun er en <input type="text"> den skal tjekke?
Avatar billede softspot Forsker
02. oktober 2005 - 19:58 #5
Hmm... jeg kan ikke huske om der findes en type-attribute på et form-element, men man kan vel gøre sådan her så:


<script type="text/javascript">
window.onload = function() {
  document.forms[0].onsubmit = function() {
    var frm = document.forms[0];
    var bRes = true;
    for(var i = 0; i < frm.elements.length; i++) {
      if(frm.elements[i].getAttribute("type") == "text")
        bRes = bRes && frm.elements[i].value != "";
    }
    if(!bRes) alert("Alle felter skal udfyldes");

    return bRes
  }
}
</script>
Avatar billede gizp Nybegynder
02. oktober 2005 - 20:02 #6
Det er lige meget, problemet var at mine <head></head> var i en fil, som jeg include'de.

Men scriptet behøver ikke være i <head> sektionen, så bare smid et svar ;D
Avatar billede softspot Forsker
02. oktober 2005 - 20:38 #7
OK, bare du er tilfreds :)
Avatar billede roenving Novice
04. oktober 2005 - 04:05 #8
Hrm, det er da en lidt underlig konstruktion, som jo selvfølgelig vil virke i nutidige browsere, men både kan laves mere konsistent og en anelse simplere og en anelse mere generelt ...

Men der er visse mærkværdigheder:

<script type="text/javascript">
window.onload = function() {
  document.forms[0].onsubmit = function() {//adresseringen .forms[] virker ikke i xhtml ...
    var frm = document.forms[0];
    var bRes = true;
    for(var i = 0; i < frm.elements.length; i++) {//heller ikke .elements levner jeg mange chancer i xhtml
      if(frm.elements[i].getAttribute("type") == "text")//adresseringen .getAttribute er nødvendig i xhtml, men xhtml er jo stået af !-)
        bRes = bRes && frm.elements[i].value != "";
    }
    if(!bRes) alert("Alle felter skal udfyldes");

    return bRes
  }
}
</script>

-- så jeg ville nok lave denne i html4.01:

<script type="text/javascript">
window.onload = function() {
  document.forms[0].onsubmit = function() {
    var e = document.forms[0].elements;
    var bRes = true;
    for(var i = 0; i < e.length; i++) {
      bRes = bRes && (e[i].type != "text" || e[i].value != "");
    }
    if(!bRes) alert("Alle felter skal udfyldes");

    return bRes
  }
}
</script>

-- hvis det er xhtml skal man så først hente formen via et id, dernæst hente elementerne i formen med childNodes, checke dem med nodeType == 1 og så selvfølgelig teste dem via getAttribute("type") !o]

-- og det sidste er ganske og aldeles utestet, for jeg kender ikke en server, som er i stand til at sende et xhtml-dokument med den korrekte mime-type, så browseren har den mindste chance for at fortolke dokumentet som xhtml !-)
Avatar billede gizp Nybegynder
15. oktober 2005 - 12:50 #9
Hmm, ja. Har godt nok brugt roenving's script, da det andet gav problemer et andet sted i dokumentet.
Avatar billede softspot Forsker
15. oktober 2005 - 13:02 #10
Jamen, så er det jo roenving der skal have point ;D
Avatar billede roenving Novice
15. oktober 2005 - 14:43 #11
Oki, men så er det vel en deler ?-)

Velbekomme '-)
Avatar billede softspot Forsker
15. oktober 2005 - 18:20 #12
Er du sikker roenving, du skal jo passe på du ikke løber tør for point - du kan jo kun lave omkring 11.000 200 point spørgsmål inde det sker... :D
Avatar billede gizp Nybegynder
15. oktober 2005 - 20:31 #13
Det blev bare en deler ;D
Avatar billede softspot Forsker
15. oktober 2005 - 20:40 #14
Jamen, så takker jeg ydmygt for point :)
Avatar billede roenving Novice
16. oktober 2005 - 14:11 #15
-- og også jeg takker for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester