Avatar billede oleodder Nybegynder
19. marts 2003 - 11:20 Der er 12 kommentarer og
2 løsninger

Kontrol af udfyldelse af felt

Jeg har et almindeligt formularfelt, hvor der skal indtastes nogle data.

På et af felterne vil jeg gerne have validitet, der sikrer, at man skal indtaste i feltet.

Altså - Hvis man ikke udfylder feltet, vil man modtage en pop-up der siger, "Husk at udfylde Adresse feltet"

OK - Er det ikke bare en mindre opgave ??
Avatar billede jakobclausen Nybegynder
19. marts 2003 - 11:27 #1
Du kan se om du kan bruge denne side til noget:
http://www.bokaj.dk/eksperten/zulu.htm

(vis -> Kildekode)

Og ellers vil jeg meget gerne lave et script til dig, når jeg lige får tid idag.
Avatar billede jakobclausen Nybegynder
19. marts 2003 - 12:56 #2
Indsættes mellem <head> og </head>:

<Script language="JavaScript">
function valider()
{
objAdresse = document.all["adresse"].value;
if(objAdresse.length < 1)
{
window.alert("Du har ikke indtastet en adresse");
return false;
}
}
</Script>

På dit input-tag skal du skrive ID="adresse" :
  <input type="text" ID="adresse">

På din submitknap-tag skal du skrive onClick="valider();" :
  <input type="submit" value="Submit" onClick="valider();">

I din form-tag skal du skrive onSubmit="if(!valider())return false;"> :
Avatar billede jakobclausen Nybegynder
19. marts 2003 - 12:58 #3
Nu vil den når du klikker på submit knappen validere om der er indtastet noget i adresse feltet, er der det vil den sende formen (eller hvad du nu skal med den), hvis feltet er tomt vil den stoppe, og kommer med en fejlmeddelse!
Avatar billede oleodder Nybegynder
19. marts 2003 - 13:12 #4
Super - Jeg vender tilbage senere.

Mante tak.
Avatar billede olebole Juniormester
19. marts 2003 - 15:31 #5
<ole>

Det var dog en bøvlet og ikke synderlig god metode  :)

<script type="text/JavaScript">
function valider(f) {
  if (f.adresse=="") {
    alert("Husk at udfylde adresse-feltet");
    f.adresse.focus();
    return false;
  }
}
</script>

<form onsubmit="valider(this)">
  <input type="text" name="adresse">
  <button type="submit">Send</button>
</form>

/mvh
</bole>
Avatar billede olebole Juniormester
19. marts 2003 - 15:32 #6
Ups .... der skal selvfølgelig stå:
  <form onsubmit="return valider(this)">
Avatar billede oleodder Nybegynder
19. marts 2003 - 15:35 #7
Jamen - Alletiders...Jeg kan først prøve det når jeg kommer hjem fra arbejde.......Men den nemmeste måde er at foretrække....

Tak
Avatar billede olebole Juniormester
19. marts 2003 - 16:31 #8
Selvtak .... og den sidste virker ikke kun i IE  ;o)
Avatar billede jakobclausen Nybegynder
19. marts 2003 - 17:33 #9
olebole >> Som du sikkert kan se, er jeg en rimelig nybegynder indenfor området, og vil derfor sætte pris på hvis du kan kommentere dit script, altså hvad de forskellige linier gør!
Avatar billede olebole Juniormester
19. marts 2003 - 17:45 #10
Her beder jeg om at få noget tilbage fra funktionen. Får jeg 'false', kan formen ikke submittes - får jeg 'true', submittes den.
Jeg refererer til formen selv med 'this' (kaldet ligger i formtag'et):
  <form onsubmit="return valider(this)">
Da jeg refererer til formen i kaldet, vil 'f' i min funktion også referere til formen.

if (f.adresse.value=="") { // Hvis værdien af feltet er tom
  alert("Husk at udfylde adresse-feltet");
  f.adresse.focus(); // Sæt cursoren i feltet adresse
  return false; // returner 'false' til formen
}
Avatar billede olebole Juniormester
19. marts 2003 - 17:46 #11
*LooooL*  Jeg har zq da også lavet en fejl i funktionen:

<script type="text/JavaScript">
function valider(f) {
  if (f.adresse.value=="") {
    alert("Husk at udfylde adresse-feltet");
    f.adresse.focus();
    return false;
  }
}
</script>

Sådan! Jeg havde glemt 'value'  :)
Avatar billede jakobclausen Nybegynder
19. marts 2003 - 18:06 #12
Jeg takker! Når du skriver this, sender så simpelhen bare alle værdierne i form'en med ?
Avatar billede olebole Juniormester
19. marts 2003 - 18:18 #13
Nej, den sender en reference til selv formen med. Så undgar man at skrive f.eks:
document.FORMNAVN.FELTNAVN.value
men kan nøjes med at skrive:
f.FELTNAVN.value
HVIS jeg altså skrev 'f' i min parentes:
function valider(f) {
Bogstavet (eller ordet) i parentesen bliver referencen til formen

Et andet eksempel:

function tellMe(elm) {
  alert(elm.value);
}

<form>
  <input type="text" onclick="tellMe(this)">
</form>

Her refererer this til feltet, fordi det står i feltets tag.
Avatar billede oleodder Nybegynder
31. august 2003 - 01:20 #14
Af hjertet tak begge to.........  ;-)
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