/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
validering af tekstfelt
Fra : Sofie


Dato : 18-05-03 20:12

Er det muligt at lave en validering af tre tekstfelter, sådan at
prøcist ét af de tre felter skal være udfyldt? Altså hverken
ingen, to eller alle tre.

Mvh. Sofie

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Tobias Nielsen (18-05-2003)
Kommentar
Fra : Tobias Nielsen


Dato : 18-05-03 22:53


"Sofie" <sovfi@yahoo.dk> skrev i en meddelelse
news:ba8ltd$5bv$1@sunsite.dk...
> Er det muligt at lave en validering af tre tekstfelter, sådan at
> prøcist ét af de tre felter skal være udfyldt? Altså hverken
> ingen, to eller alle tre.
>
> Mvh. Sofie

Hej Sofie

Du kan måske hente lidt inspiration her:
http://www.html.dk/scripts/javascript/00013/

Der er godt nok kun tale om validering af et enkelt felt, men måske nogle af
de andre "natteravne" i gruppen kan hjælpe dig videre herfra.. jeg er i
hvert fald på vej i seng for nu :)


Hilsen Tobias



Jens Peter Karlsen (19-05-2003)
Kommentar
Fra : Jens Peter Karlsen


Dato : 19-05-03 00:14

Gøres med en række if - else if - else sætninger.
Noget lignende:
if(field1.value <> "" && field2.value = "" && field3.value = "")
OK
else if(field1.value = "" && field2.value <> "" && field3.value = "")
OK
else if(field1.value = "" && field2.value = "" && field3.value <> "")
OK
else
fejl


Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.


On Sun, 18 May 2003 19:11:41 +0000 (UTC), Sofie <sovfi@yahoo.dk>
wrote:

>Er det muligt at lave en validering af tre tekstfelter, sådan at
>prøcist ét af de tre felter skal være udfyldt? Altså hverken
>ingen, to eller alle tre.


Lasse Reichstein Nie~ (19-05-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 19-05-03 00:25

Jens Peter Karlsen <jpkarlsen@mvps.org> writes:

> Gøres med en række if - else if - else sætninger.
> Noget lignende:
> if(field1.value <> "" && field2.value = "" && field3.value = "")
> OK
> else if(field1.value = "" && field2.value <> "" && field3.value = "")
> OK
> else if(field1.value = "" && field2.value = "" && field3.value <> "")
> OK
> else
> fejl

Det er nok lidt kortere at tælle sammen hvor mange der ikke er tomme.

---
var form = document.forms["formnavn"]
var field1 = form.elements["field1navn"];
var field2 = form.elements["field2navn"];
var field3 = form.elements["field3navn"];

if (Number(field1.value != "") +
Number(field2.value != "") +
Number(field3.value != "") != 1) {
// ERROR
}
---

Her udnyttes at Number(false)==0 og Number(true)==1 .

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Sofie (19-05-2003)
Kommentar
Fra : Sofie


Dato : 19-05-03 17:46

> Det er nok lidt kortere at tælle sammen hvor mange der ikke er tomme.
>
> ---
> var form = document.forms["formnavn"]
> var field1 = form.elements["field1navn"];
> var field2 = form.elements["field2navn"];
> var field3 = form.elements["field3navn"];
>
> if (Number(field1.value != "") +
> Number(field2.value != "") +
> Number(field3.value != "") != 1) {
> // ERROR
> }
> ---
>
> Her udnyttes at Number(false)==0 og Number(true)==1 .
>
> /L

Skal jeg så bare skrive:

<script type="text/javascript">
var form = document.forms["formnavn"]
var field1 = form.elements["field1navn"];
var field2 = form.elements["field2navn"];
var field3 = form.elements["field3navn"];

if (Number(field1.value != "") +
Number(field2.value != "") +
Number(field3.value != "") != 1) {
// ERROR
}
</script>

hvor field1, 2 og 3 er tekstfelternes navn..?

Mvh. Sofie

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Lasse Reichstein Nie~ (19-05-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 19-05-03 18:15

Sofie <sovfi@yahoo.dk> writes:

> Skal jeg så bare skrive:
>
> <script type="text/javascript">
> var form = document.forms["formnavn"]
....
> // ERROR
> }
> </script>
>
> hvor field1, 2 og 3 er tekstfelternes navn..?

Det vil nok ikke virker. Så bliver koden kørt på det tidspunkt
hvor siden bliver loadet (og hvis koden står før formen, så
findes input-elementerne slet ikke endnu.

For at forsinke udførslen til vi er klar, så pakker vi det ind i en
funktion:

<script type="text/javascript">
function checkForm(form) {
var field1 = form.elements["field1navn"];
var field2 = form.elements["field2navn"];
var field3 = form.elements["field3navn"];

if (Number(field1.value != "") +
Number(field2.value != "") +
Number(field3.value != "") != 1) {
// Gør noget, fx giv en advarsel...
return false;
}
return true;
}
</script>

Den funktion kan vi så kalde når vi er klar til at submitte formen.
Det gøres ved at kalde funktionen i formens onsubmit-handler:

<form action="..." onsubmit="return checkForm(this)">

Det betyder:

Når man forsøger at submitte formen, så kalder vi funktionen
checkForm.

Vi sidder selv på form-elementet, så vi kan sende formen med i kaldet
i stedet for at finde den senere.

Funktionen checkForm tjekker at præcist et af input-elementerne er
udfyldt. Hvis ikke, så gives der en advarsel (eller sådan noget).

Funktionen checkForm returnerer "true" hvis der er et udfyldt felt
og "false" ellers. Handleren returnerer denne verdi igen. Hvis
den returnerer false, så bliver formen *ikke* submittet.

Håber det hjælper/
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Sofie (20-05-2003)
Kommentar
Fra : Sofie


Dato : 20-05-03 21:15

Lasse Reichstein Nielsen wrote in dk.edb.internet.webdesign.clientside:
> Sofie <sovfi@yahoo.dk> writes:
>
> > Skal jeg så bare skrive:
> >
> > <script type="text/javascript">
> > var form = document.forms["formnavn"]
> ....
> > // ERROR
> > }
> > </script>
> >
> > hvor field1, 2 og 3 er tekstfelternes navn..?
>
> Det vil nok ikke virker. Så bliver koden kørt på det tidspunkt
> hvor siden bliver loadet (og hvis koden står før formen, så
> findes input-elementerne slet ikke endnu.
>
> For at forsinke udførslen til vi er klar, så pakker vi det ind i en
> funktion:
>
> <script type="text/javascript">
> function checkForm(form) {
> var field1 = form.elements["field1navn"];
> var field2 = form.elements["field2navn"];
> var field3 = form.elements["field3navn"];
>
> if (Number(field1.value != "") +
> Number(field2.value != "") +
> Number(field3.value != "") != 1) {
> // Gør noget, fx giv en advarsel...
> return false;
> }
> return true;
> }
> </script>
>
> Den funktion kan vi så kalde når vi er klar til at submitte formen.
> Det gøres ved at kalde funktionen i formens onsubmit-handler:
>
> <form action="..." onsubmit="return checkForm(this)">
>

Sejt. Nu virker det. Men jeg har at andet problem nu. For jeg har også
nogen andre tekstfelter det er valideret. Og jeg kan kun få enten de
andre til at virke eller de her.
Enten skriver jeg:
<form method="post" action="pris2_frame.php"
onsubmit="validering();return false;"
eller:
<form method="post" action="pris2_frame.php" onsubmit="return
checkForm(this)">
Og dermed kan jeg jo ikke få dem til at virke på samme tid!

Mine script er:
<script type="text/javascript">

function validering()
{
error = 0;

if((document.forms[0].m2.value=='') && (error==0))
{      
alert('Du har glemt at udfylde tagets areal!');
document.forms[0].m2.focus();
error = 1;      
}

if((document.forms[0].længde.value=='') && (error==0))
{      
alert('Du har glemt at udfylde rygningens længde!');
document.forms[0].længde.focus();
error = 1;      
}   

if(error == 0)
document.forms[0].submit();   
}

</script>
<script type="text/javascript">
function checkForm(form) {
var gesims = form.elements["gesims"];
var træudhæng = form.elements["træudhæng"];
var eternitudhæng = form.elements["eternitudhæng"];

if (Number(gesims.value != "") +
Number(træudhæng.value != "") +
Number(eternitudhæng.value != "") != 1) {
alert('Du skal udfyld enten gesims eller træudhæng eller
eternitudhæng!');
document.forms[0].længde.focus();
error = 1;
return false;
}
return true;
}
</script>

Mvh. Sofie

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Sofie (24-05-2003)
Kommentar
Fra : Sofie


Dato : 24-05-03 22:02

Jeg har også nogen andre tekstfelter der er valideret. Og jeg kan kun få
enten de andre til at virke eller de her.
Enten skriver jeg:
<form method="post" action="pris2_frame.php" onsubmit="validering();return
false;"
eller:
<form method="post" action="pris2_frame.php" onsubmit="return
checkForm(this)">
Og dermed kan jeg jo ikke få dem til at virke på samme tid! Hvordan kan
jeg få alle tekstefelterne valideret?

Mit script er:
<script type="text/javascript">

function validering()
{
error = 0;

if((document.forms[0].m2.value=='') && (error==0))
{
alert('Du har glemt at udfylde tagets areal!');
document.forms[0].m2.focus();
error = 1;
}

if((document.forms[0].længde.value=='') && (error==0))
{
alert('Du har glemt at udfylde rygningens længde!');
document.forms[0].længde.focus();
error = 1;
}

if(error == 0)
document.forms[0].submit();
}

</script>
<script type="text/javascript">
function checkForm(form) {
var gesims = form.elements["gesims"];
var træudhæng = form.elements["træudhæng"];
var eternitudhæng = form.elements["eternitudhæng"];

if (Number(gesims.value != "") +
Number(træudhæng.value != "") +
Number(eternitudhæng.value != "") != 1) {
alert('Du skal udfyld enten gesims eller træudhæng eller
eternitudhæng!');
document.forms[0].længde.focus();
error = 1;
return false;
}
return true;
}
</script>

Mvh. Sofie

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Sofie (25-05-2003)
Kommentar
Fra : Sofie


Dato : 25-05-03 12:12

Lasse Reichstein Nielsen wrote in dk.edb.internet.webdesign.clientside:
> Sofie <sovfi@yahoo.dk> writes:
>
> > Skal jeg så bare skrive:
> >
> > <script type="text/javascript">
> > var form = document.forms["formnavn"]
> ....
> > // ERROR
> > }
> > </script>
> >
> > hvor field1, 2 og 3 er tekstfelternes navn..?
>
> Det vil nok ikke virker. Så bliver koden kørt på det tidspunkt
> hvor siden bliver loadet (og hvis koden står før formen, så
> findes input-elementerne slet ikke endnu.
>
> For at forsinke udførslen til vi er klar, så pakker vi det ind i en
> funktion:
>
> <script type="text/javascript">
> function checkForm(form) {
> var field1 = form.elements["field1navn"];
> var field2 = form.elements["field2navn"];
> var field3 = form.elements["field3navn"];
>
> if (Number(field1.value != "") +
> Number(field2.value != "") +
> Number(field3.value != "") != 1) {
> // Gør noget, fx giv en advarsel...
> return false;
> }
> return true;
> }
> </script>
>
> Den funktion kan vi så kalde når vi er klar til at submitte formen.
> Det gøres ved at kalde funktionen i formens onsubmit-handler:
>
> <form action="..." onsubmit="return checkForm(this)">
>
> Det betyder:
>
> Når man forsøger at submitte formen, så kalder vi funktionen
> checkForm.
>
> Vi sidder selv på form-elementet, så vi kan sende formen med i kaldet
> i stedet for at finde den senere.
>
> Funktionen checkForm tjekker at præcist et af input-elementerne er
> udfyldt. Hvis ikke, så gives der en advarsel (eller sådan noget).
>
> Funktionen checkForm returnerer "true" hvis der er et udfyldt felt
> og "false" ellers. Handleren returnerer denne verdi igen. Hvis
> den returnerer false, så bliver formen *ikke* submittet.
>
> Håber det hjælper/
> /L
> --
> Lasse Reichstein Nielsen - lrn@hotpop.com
> Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
> 'Faith without judgement merely degrades the spirit divine.'


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Sofie (25-05-2003)
Kommentar
Fra : Sofie


Dato : 25-05-03 12:14

Jeg har også nogen andre tekstfelter det er valideret. Og jeg kan kun få
enten de andre til at virke eller de her.
Enten skriver jeg:
<form method="post" action="pris2_frame.php"
onsubmit="validering();return false;"
eller:
<form method="post" action="pris2_frame.php" onsubmit="return
checkForm(this)">
Og dermed kan jeg jo ikke få dem til at virke på samme tid! Hvordan gør
jeg for at få dem alle til at virke?

Min side er:
<script type="text/javascript">

function validering()
{
error = 0;

if((document.forms[0].m2.value=='') && (error==0))
{
alert('Du har glemt at udfylde tagets areal!');
document.forms[0].m2.focus();
error = 1;
}

if((document.forms[0].længde.value=='') && (error==0))
{
alert('Du har glemt at udfylde rygningens længde!');
document.forms[0].længde.focus();
error = 1;
}

if(error == 0)
document.forms[0].submit();
}

</script>
<script type="text/javascript">
function checkForm(form) {
var gesims = form.elements["gesims"];
var træudhæng = form.elements["træudhæng"];
var eternitudhæng = form.elements["eternitudhæng"];

if (Number(gesims.value != "") +
Number(træudhæng.value != "") +
Number(eternitudhæng.value != "") != 1) {
alert('Du skal udfyld enten gesims eller træudhæng eller
eternitudhæng!');
document.forms[0].længde.focus();
error = 1;
return false;
}
return true;
}
</script>

Mvh. Sofie

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408927
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste