/ 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
Form: værdier med fra submitknap
Fra : Kim Bach Petersen


Dato : 01-04-02 11:18

Jeg har en ASP formularbehandler, som bruger værdien fra en submit-knap til
at afgøre, hvad den skal og hvor formularen kommer fra. Den samler således
værdien "Ret" op fra:

<input class=knp type=submit value="Ret" name="Action">

Nu vil jeg gerne lave noget clientside-validering, men det ser ud til, at
værdien i så fald ikke føres med over - uanset om jeg knytter
validerings-kaldet til knappen eller formen:

<input class=knp type=submit value="Ret" name="Action"
onclick="validering();return false;">

Jeg vil meget gerne kunne validere clientside og føre denne værdi med over -
kan man det?

For en ordens skyld: Der er tale om et standard-script inspireret fra
html.dk, det fejler i sig selv ikke noget:

<script type="text/javascript">
<!--
function validering()
{
error = 0;
if((document.retinfo.Navn.value=='') && (error==0))
{alert('Du skal skrive et navn!'); document.retinfo.Navn.focus(); error =
1;}
if((document.retinfo.Email.value=='') && (error==0))
{alert('Du skal opgive en emailadresse!'); document.retinfo.Email.focus();
error = 1;}
if((document.retinfo.Brugernavn.value=='') && (error==0))
{alert('Du skal skrive et burgernavn!');
document.retinfo.Brugernavn.focus(); error = 1;}
if((document.retinfo.Password.value=='') && (error==0))
{alert('Du skal skrive en adgangskode!');
document.retinfo.Password.focus(); error = 1;}
if((document.retinfo.Password2.value=='') && (error==0))
{alert('Du skal skrive adgangskoden igen!');
document.retinfo.Password2.focus(); error = 1;}
if(!(document.retinfo.Password2.value==document.retinfo.Password.value) &&
(error==0))
{alert('De to adgangskoder er ikke ens!');
document.retinfo.Password2.focus(); error = 1;}
if(error == 0) document.retinfo.submit();
}
// Slut -->
</script>

Kim





 
 
Jakob Andersen (03-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 03-04-02 18:46

"Kim Bach Petersen" <kim@kensho.dk> wrote in message
news:3ca833e1$0$72023$edfadb0f@dspool01.news.tele.dk...
> Jeg har en ASP formularbehandler, som bruger værdien fra en submit-knap
til
> at afgøre, hvad den skal og hvor formularen kommer fra. Den samler således
> værdien "Ret" op fra:
> <input class=knp type=submit value="Ret" name="Action">

Du kan istedet for at bruge knappen bruge et hidden form field, som
indeholder værdien.

> Nu vil jeg gerne lave noget clientside-validering, men det ser ud til, at
> værdien i så fald ikke føres med over - uanset om jeg knytter
> validerings-kaldet til knappen eller formen:

Og du har prøvet at sætte det som onsubmit i form tagget?

--
Jakob Andersen



Kim Bach Petersen (03-04-2002)
Kommentar
Fra : Kim Bach Petersen


Dato : 03-04-02 21:16

> Du kan istedet for at bruge knappen bruge et hidden form field, som
> indeholder værdien.

Så vil værdien jo gå med uanset hvilken knap man vælger - og det var ikke
lige ideen... (nogle sider har flere knapper (ret, slet))

> Og du har prøvet at sætte det som onsubmit i form tagget?

Ja, det startede jeg med - uden held.

Kim



Jakob Andersen (03-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 03-04-02 21:54

"Kim Bach Petersen" <kim@kensho.dk> wrote in message
news:a8focv$7cf$1@sunsite.dk...
> Så vil værdien jo gå med uanset hvilken knap man vælger - og det var ikke
> lige ideen... (nogle sider har flere knapper (ret, slet))


Så kan du jo lave noget ala dette:

<form ..... onsubmit="return validatefunction(this);">
<input type="hidden" name="Action" value=""/>
<input type="submit" onclick="this.form.Action.value = 'ret';"
value="Ret" />
<input type="submit" onclick="this.form.Action.value = 'slet';"
value="Slet" />
<input type="submit" onclick="this.form.Action.value = 'ny';" value="Ny"
/>
</form>


--
Jakob Andersen



Kim Bach Petersen (04-04-2002)
Kommentar
Fra : Kim Bach Petersen


Dato : 04-04-02 15:00

"Jakob Andersen" skrev:

> <form ..... onsubmit="return validatefunction(this);">

Tak for dit svar - inspiration var ved at være hårdt tiltrængt! Lidt indsigt
i 'Return' gjorde en stor forskel..

Kim



Torben Brandt (03-04-2002)
Kommentar
Fra : Torben Brandt


Dato : 03-04-02 22:57

Kim Bach Petersen wrote in dk.edb.internet.webdesign.clientside:
> Jeg har en ASP formularbehandler, som bruger værdien fra en submit-knap til
> at afgøre, hvad den skal og hvor formularen kommer fra. Den samler således
> værdien "Ret" op fra:
>
> <input class=knp type=submit value="Ret" name="Action">
>
> Nu vil jeg gerne lave noget clientside-validering, men det ser ud til, at
> værdien i så fald ikke føres med over - uanset om jeg knytter
> validerings-kaldet til knappen eller formen:
>
> <input class=knp type=submit value="Ret" name="Action"
> onclick="validering();return false;">

Skriv i stedet onclick="return validering();" og se nedenfor

>
> Jeg vil meget gerne kunne validere clientside og føre denne værdi med over -
> kan man det?
>
> For en ordens skyld: Der er tale om et standard-script inspireret fra
> html.dk, det fejler i sig selv ikke noget:

Nej det gør det nok ikke, men derfor kan vi godt rette lidt i det :)

>
> <script type="text/javascript">
> <!--
&gt; function validering()
&gt; {
&gt; error = 0;
&gt; if((document.retinfo.Navn.value=='') && (error==0))
&gt; {alert('Du skal skrive et navn!'); document.retinfo.Navn.focus(); error
=
&gt; 1;}
&gt; if((document.retinfo.Email.value=='') && (error==0))
&gt; {alert('Du skal opgive en emailadresse!');
document.retinfo.Email.focus();
&gt; error = 1;}
&gt; if((document.retinfo.Brugernavn.value=='') && (error==0))
&gt; {alert('Du skal skrive et burgernavn!');
&gt; document.retinfo.Brugernavn.focus(); error = 1;}
&gt; if((document.retinfo.Password.value=='') && (error==0))
&gt; {alert('Du skal skrive en adgangskode!');
&gt; document.retinfo.Password.focus(); error = 1;}
&gt; if((document.retinfo.Password2.value=='') && (error==0))
&gt; {alert('Du skal skrive adgangskoden igen!');
&gt; document.retinfo.Password2.focus(); error = 1;}
&gt; if(!(document.retinfo.Password2.value==document.retinfo.Password.value)
&&
&gt; (error==0))
&gt; {alert('De to adgangskoder er ikke ens!');
&gt; document.retinfo.Password2.focus(); error = 1;}
&gt; if(error == 0) document.retinfo.submit();

Her kan du i stedet returnere true, hvis formen skal sendes, hvis der er en
fejl, så returnerer du bare false.
Efter rettelsen i onclick på knappen, så bliver det direkte overført til om
knappen skal submitte eller ej

&gt; }
&gt; // Slut -->
> </script>
>

Og så når vi laver denne rettelse, så kan du skrive "return false" i stedet
for "error = 1" og så bare skrive "return true" nederst i funktionen, for
formen skal sendes hvis der ikke er fundet nogle fejl - og dermed allerede
returneret false.

mvh Torben

--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

Kim Bach Petersen (04-04-2002)
Kommentar
Fra : Kim Bach Petersen


Dato : 04-04-02 15:03

"Torben Brandt" skrev :

> Skriv i stedet onclick="return validering();"
> [...]
> Her kan du i stedet returnere true, hvis formen skal sendes, hvis der er
en
> fejl, så returnerer du bare false.
> Efter rettelsen i onclick på knappen, så bliver det direkte overført til
om
> knappen skal submitte eller ej

Heureka! Rart med en enkel og elegant løsning - jeg lærer javascript "by
doing" og fidusen med 'return' har været meget oplysende! Stort tak herfra!

Kim




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

Månedens bedste
Årets bedste
Sidste års bedste