Avatar billede kovalt Nybegynder
07. august 2003 - 12:06 Der er 12 kommentarer og
1 løsning

Sende formnavnet med onSubmit

Hej..

jeg har følgende funktion som tjekker om et givent felt indeholder et tal.

<SCRIPT LANGUAGE="JavaScript">
function tjekOmTal(formName) {

var result = true;

if (isNaN(document.formName.fieldName.value)) {
    window.alert ("Det indtastede odds er ikke et tal");
    result = false;
    }
return result;
}
</SCRIPT>

jeg kalder det således:

<form action="" method="post" name="form1" onSubmit="return tjekOmTal(form1);">
<input type="text" name="field">
</form>

<form action="" method="post" name="form2" onSubmit="return tjekOmTal(form2);">
<input type="text" name="field">
</form>

hvordan skal det se ud såldes at jeg kan bruge den samme funktion på flere formularer... ovenstående virker i hvert fald ikke :-)

/kovalt
Avatar billede kovalt Nybegynder
07. august 2003 - 12:10 #1
endivdere er der det problem at isNaN ikke accepterer kommaer i tal men kun punktum....

er der en replace-funktion i javascript som lige kan erstatte , med .
Avatar billede mm12010 Nybegynder
07. august 2003 - 12:13 #2
<form action="" method="post" name="form1" onSubmit="return tjekOmTal(this);">
<input type="text" name="field">
</form>

<form action="" method="post" name="form2" onSubmit="return tjekOmTal(this);">
<input type="text" name="field">
</form>
Avatar billede kovalt Nybegynder
07. august 2003 - 12:14 #3
skal der ikke ændres noget i scriptet
Avatar billede mm12010 Nybegynder
07. august 2003 - 12:16 #4
<SCRIPT LANGUAGE="JavaScript">
function tjekOmTal(formName) {
var result = true;
if(isNaN(formName.fieldName.value.replace(/\./gi,","))){
    window.alert("Det indtastede odds er ikke et tal");
    result = false;
    }
return result;
}
</SCRIPT>
Avatar billede mm12010 Nybegynder
07. august 2003 - 12:16 #5
hovsa

der skal lige byttes om på . og ,
Avatar billede kovalt Nybegynder
07. august 2003 - 12:17 #6
nu kalder jeg den sådan her:

<form action="" method="post" name="matchTypeDropdownForm" onSubmit="return tjekOmTal(this);">

og scriptet ser således ud:

<SCRIPT LANGUAGE="JavaScript">
function tjekOmTal(formName) {

var result = true;
   
    if (isNaN(document.formName.odds.value)) {
        window.alert ("Det indtastede odds er ikke et tal");
        result = false;
    }
return result;
}
</SCRIPT>

men det virker ikke
Avatar billede kovalt Nybegynder
07. august 2003 - 12:18 #7
ok... det virker nu hvor document er fjernet... hvorfor er det den ikke skal være der når man sender navnet med over
Avatar billede mm12010 Nybegynder
07. august 2003 - 12:20 #8
det er ikke navnet du sender med, der en reference til selve formen
Avatar billede grunken Nybegynder
07. august 2003 - 12:20 #9
kovalt personligt ville jeg ændre denne linie

if (isNaN(document.forms[formName].odds.value)) {

det burde du lidt bedre :)
Avatar billede kovalt Nybegynder
07. august 2003 - 12:20 #10
tanx... nu virker det hele...

det var da en syret måde man replacer på i JS :-)
Avatar billede kovalt Nybegynder
07. august 2003 - 12:21 #11
grunken --> hvad er forkellen? at scriptet er klar over det er en form den skal lede efter eller?
Avatar billede kovalt Nybegynder
07. august 2003 - 12:24 #12
grunken --> jeg kan ikke få det til at virke på din måde
Avatar billede grunken Nybegynder
07. august 2003 - 12:25 #13
forms[formName] : nu er formName set som en variabel !
forms['formName'] : nu er formName set som et formnavn
document.formName.fieldName : nu er formName set som et formnavn

etc.
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