/ 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
onsubmit scripts kører ikke - for lang for~
Fra : Jesper F


Dato : 02-05-07 22:35

Jeg kører nedenstående lille script som blot skal tjekke om
handelsbetingelserne er accepteret og en checkbox er afkrydset. Det virker
fint som nedenstående eksempel, men når jeg implementerer det på min
hjemmeside virker det ikke. Der er formularen noget længere og har nogle
tabeller indlejret m.m., men principielt ændres det ikke.
Hvorfor virker det ikke? Kan der være "for meget" indenfor <form></form> som
gør at javascript fejler?

<script type="text/javascript">
// Checkbox-validering ang. handelsbetingelser
function chkboxvalidate()
{
error = 0;
if(!(document.forms[0].chkBetingelser.checked) && (error==0))
{
alert('Du bedes acceptere vores handelsbetingelser for at fortsætte.');
document.forms[0].chkBetingelser.focus();
error = 1;
}

if(error == 0)
document.forms[0].submit();
}
</script>


<form method='post' action='' name='kurv' onsubmit="chkboxvalidate();return
false;">
<input type="checkbox" name="chkBetingelser" value="ON">
<input type="submit" name="fortsaet" value="Næste">
</form>


Mange tak. vh Jesper



 
 
Martin (03-05-2007)
Kommentar
Fra : Martin


Dato : 03-05-07 03:38

Jesper F wrote:
> Jeg kører nedenstående lille script som blot skal tjekke om
> handelsbetingelserne er accepteret og en checkbox er afkrydset. Det virker
> fint som nedenstående eksempel, men når jeg implementerer det på min
> hjemmeside virker det ikke. Der er formularen noget længere og har nogle
> tabeller indlejret m.m., men principielt ændres det ikke.
> Hvorfor virker det ikke? Kan der være "for meget" indenfor <form></form> som
> gør at javascript fejler?

Hvad virker ikke?

>
> <script type="text/javascript">
> // Checkbox-validering ang. handelsbetingelser
> function chkboxvalidate()
> {
> error = 0;
> if(!(document.forms[0].chkBetingelser.checked) && (error==0))
> {
> alert('Du bedes acceptere vores handelsbetingelser for at fortsætte.');
> document.forms[0].chkBetingelser.focus();
> error = 1;

istedet for error=1; indsæt så
return false;

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

istedet for submit her, så indsæt
return true;

> }
> </script>

En funktion stoppes altid når den ender ud i en return.

>
>
> <form method='post' action='' name='kurv' onsubmit="chkboxvalidate();return
> false;">

2 fejl..
Hvor skal formen submittes hen til? - der mangler en action
onsubmit="return chkboxvalidate();
Hvis din funktion returner false, så bliver din form ikke submittet - og
ellers bliver den.

Leif Neland (03-05-2007)
Kommentar
Fra : Leif Neland


Dato : 03-05-07 07:01

Jesper F wrote:
> Jeg kører nedenstående lille script som blot skal tjekke om
> handelsbetingelserne er accepteret og en checkbox er afkrydset. Det
> virker fint som nedenstående eksempel, men når jeg implementerer det
> på min hjemmeside virker det ikke. Der er formularen noget længere og
> har nogle tabeller indlejret m.m., men principielt ændres det ikke.
> Hvorfor virker det ikke? Kan der være "for meget" indenfor
> <form></form> som gør at javascript fejler?

Prøv at se siden i firefox med firebug debugger installeret. Det kan være
det finder en eller flere fejl.

Leif



Birger Sørensen (04-05-2007)
Kommentar
Fra : Birger Sørensen


Dato : 04-05-07 12:42

Jesper F wrote in dk.edb.internet.webdesign.clientside:
> Jeg kører nedenstående lille script som blot skal tjekke om
> handelsbetingelserne er accepteret og en checkbox er afkrydset. Det virker
> fint som nedenstående eksempel, men når jeg implementerer det på min
> hjemmeside virker det ikke. Der er formularen noget længere og har nogle
> tabeller indlejret m.m., men principielt ændres det ikke.
> Hvorfor virker det ikke? Kan der være "for meget" indenfor <form></form> som
> gør at javascript fejler?
>
> <script type="text/javascript">
> // Checkbox-validering ang. handelsbetingelser
> function chkboxvalidate()
> {
> error = 0;
> if(!(document.forms[0].chkBetingelser.checked) && (error==0))
> {
> alert('Du bedes acceptere vores handelsbetingelser for at fortsætte.');
> document.forms[0].chkBetingelser.focus();
> error = 1;
> }
>
> if(error == 0)
> document.forms[0].submit();
> }
> </script>
>
>
> <form method='post' action='' name='kurv' onsubmit="chkboxvalidate();return
> false;">
> <input type="checkbox" name="chkBetingelser" value="ON">
> <input type="submit" name="fortsaet" value="Næste">
> </form>
>
>
> Mange tak. vh Jesper
>
>


Når onsubmit returnerer false, sendes formen ikke. Så du skal fjerne "return
false" fra <form..> tag'et, og lade funktionen returnere sand hvis der ingen
fejl er, og ellers falsk, f.eks.:

function chkboxvalidate() {
error = 0;
if( !(document.forms[0].chkBetingelser.checked)) {
alert('Du bedes acceptere vores handelsbetingelser for at fortsætte.');
document.forms[0].chkBetingelser.focus();
error = 1;
}
return (error == 0) ;
}

Birger

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- 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 : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste