Avatar billede hcthorsen Praktikant
01. april 2009 - 14:40 Der er 9 kommentarer og
1 løsning

Flere submit-buttons og jsval

Hej eksperter! Jeg har en række formularer, hvor jeg benytter jsval til validering af input. Det kører fint. Nu er det bare sådan, at jeg gerne vil have forskellige submit-buttons, der gør forskellige ting. Det kan jeg sådan set også godt finde ud af, men jeg kan ikke få jsval til at fungere med forskellige submit-buttons. Hidtil har jeg kaldt jsval med:

<form name="" method="post" action="gem_crf_mysql.php" onSubmit="return validateCompleteForm(this, 'error');">

For at lave forskellige submit-buttons har jeg i første omgang ladet "action" stå tom:

<form name="" method="post" action="" onSubmit="return validateCompleteForm(this, 'error');">

For siden at fylde den ud med java script:

<input type="button" name="nextpage" value="Næste side" id="nextpage" onClick="this.form.action='gem_crf_mysql.php';this.form.submit();">
<input type="button" name="forlad" value="Forlad" id="forlad" onClick="this.form.action='mainpage.php';this.form.submit();">

Det virker, men jsval laver ikke validering af mine inputs. Er der nogen der kan hjælpe?
Avatar billede olebole Juniormester
01. april 2009 - 14:48 #1
<ole>

En forms onsubmit-event må ikke fyres af, når formen submittes via JS, så du må flytte den validering  =)

/mvh
</bole>
Avatar billede hcthorsen Praktikant
01. april 2009 - 15:05 #2
Ok. Er der slet ikke en simpel løsning. har prøvet noget lig

<input type="button" name="nextpage" value="Næste side" id="nextpage" onClick="return validateCompleteForm(this, 'error');this.form.action='gem_crf_mysql.php';this.form.submit();">

men det virker heller ikke.
Avatar billede hcthorsen Praktikant
01. april 2009 - 15:13 #3
Kan man alternativt lave det sådan, at der ikke bliver kørt validering nå man trykker på en bestemt submit-knap?
Avatar billede olebole Juniormester
02. april 2009 - 00:23 #4
onClick="if(validateCompleteForm(this, 'error')){this.form.action='gem_crf_mysql.php';this.form.submit()}">
Avatar billede hcthorsen Praktikant
02. april 2009 - 08:18 #5
Det virker altså ikke. Der submittes godt nok, men jsval kører ikke. Mystisk
Avatar billede olebole Juniormester
02. april 2009 - 10:36 #6
Jo, den køres helt sikkert præcist, som den skal. Sker det ikke hos dig, må du nødvendigvis lave en eller flere fejl  =)

Dette virker, som du ser, helt fint:

<script type="text/javascript">
function validateCompleteForm(oBtn, sError) {
    alert(oBtn.getAttribute("type"))
    if (oBtn.form.gnu.value=="hest") return true;
    return false;
}
</script>

<form action="">
    <input type="text" name="gnu" value="hest">
    <input type="button" name="send" value="Send form" onclick="if(validateCompleteForm(this, 'error')){this.form.action='gem_crf_mysql.php';this.form.submit()}">
</form>
Avatar billede hcthorsen Praktikant
02. april 2009 - 22:20 #7
Jeg ikke hvad jeg laver forkert. Jeg kan godt se dit eksempel virker, men det hjælper mig ikke.  jsval køres vel også, i og med jeg bliver sendt videre til gem_crf_mysql.php - den laver bare ingen validering. Det virkede da jeg kaldte validateCompleteForm med:

onSubmit="return validateCompleteForm(this, 'error');">

Jeg giver snart op....
Avatar billede olebole Juniormester
02. april 2009 - 23:25 #8
Jeg har ingen idé om, hvad du gør galt - og jeg kender ikke 'jsval'. Prøv at lægge et link til din side
Avatar billede hcthorsen Praktikant
03. april 2009 - 14:28 #9
Du kan prøve at kigge her:

http://www.thorsen-meyer.dk/test.php

Her fungerer det med forskellige funktion på mine knapper, men jsval virker ikke. Her kan du se hvordan jeg gjorde før:

http://www.thorsen-meyer.dk/test2.php

Her virker valideringen, man kalder samme fil fra begge "submit"-knapper
Avatar billede hcthorsen Praktikant
06. april 2009 - 12:38 #10
Nå, lukker...
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