Avatar billede eksperten1 Nybegynder
02. februar 2003 - 23:57 Der er 14 kommentarer

onSubmit validering

PÅ en side kan brugeren skrive xxx i et text felt, der er så 2 radiobuttons nedenunder. Hvis radio-A er valgt skal formen submittes til "actionA.asp", hvis radion-B er valgt, skal formen submittes til "actionB.asp"

Pt. har jeg lavet en onClick på begge radio's som sætter document.form1.action="actionX.asp" (hver sin ofcous)

Men når brugeren trykker tilbage i browseren, så står radioknappen stadig på det valgte men formen er blevet resat til det oprindelige, hvilket kna være forkert.

Hvordan laver jeg en funktion som validerer dette ?
Avatar billede erikjacobsen Ekspert
03. februar 2003 - 00:02 #1
Hej igen. ;)
Du sætter blot din action på onsubmit - efter at have aflæst radioknapperne
Avatar billede eksperten1 Nybegynder
03. februar 2003 - 00:09 #2
:) Ja jeg har travlt med de sidste (I hope) bugs.

Ja jeg kan godt gennemskue hvordan, men jeg kan desværre ikke helt opfinde korrekt javascript kode, for dårligt, men for mange heste, nå nej kokke... whatever, så er jeg ikke så ferm i JS endnu.

valForm(){
  if (document.form1.radioa.checked = True){
      document.form1.action = "submita.asp"}
  else
  { document.form1.action = "submitb.asp"}
}

Men det spiller ikke og hvordan submitter min funktion formen ?

Mark
Avatar billede erikjacobsen Ekspert
03. februar 2003 - 00:10 #3
Et enkelt lighedstegn er i hvert fald galt. Rigtigere med
  if (document.form1.radioa.checked){
Avatar billede erikjacobsen Ekspert
03. februar 2003 - 00:11 #4
PS; Check din krøllede paranteser, og lav en return true;
til sidst i funktionen, og hUKS: onsubmit="return valForm()"
Avatar billede eksperten1 Nybegynder
03. februar 2003 - 00:18 #5
OK, jeg prøver lige at lave den rigtigt.

Sig mig er det min PC'er der er for langsom, eller er de sindsyge msdn bannere ikke noget der belaster. Bare det at vise denne side med 3 (!) msdn bannere gør at min IExplore.exe bruger ca 30-45% belastning !!
Avatar billede eksperten1 Nybegynder
03. februar 2003 - 00:30 #6
???? OK her er så den function som jeg fik brygget sammen.
function soeg(){
    if (document.form1.radio1){
        document.form1.action = 'brancher.asp';
    else
        document.form1.action = 'resultat2.asp';
    }
    return true;
}   

Men nu har jeg et problem, hvordan skelner jeg mellem 2 radio's som hedder det samme ?? Jeg ændrede jo deres navn, men nu kan begge jo være valgte samtidig (tanketorsk)
Avatar billede eksperten1 Nybegynder
03. februar 2003 - 00:34 #7
Hmm, ændrede til
function soeg(){
    if (document.form1.radio == "branche"){
        document.form1.action = 'brancher.asp';
    else
        document.form1.action = 'resultat2.asp';
    }
    return true;
}

Men den er lidt ligeglad, den submitter altid til brancher.asp ??
Avatar billede erikjacobsen Ekspert
03. februar 2003 - 00:56 #8
nej nej, sådan aflæse du ikke en radioknap. Jeg smutter...
Avatar billede eksperten1 Nybegynder
03. februar 2003 - 00:57 #9
crap. Godnat *) (sover med det ene øje)
Avatar billede eksperten1 Nybegynder
03. februar 2003 - 01:21 #10
ahh. form1.radio1.value == ??

Lorte JS, lavede det i ASP filen der submittes til, men en fusker løsning !
Avatar billede olebole Juniormester
03. februar 2003 - 01:36 #11
<ole>

Hvis din bil bliver ved med at støde ind i carportens søjler, når du vil parkere, er der to muligheder:
1. Lortebil
2. Lortechauffør

Så vil jeg undlade resten  ;o)

function soeg(){
    if (document.form1.bla[0].checked) document.form1.action = 'brancher.asp';
    else document.form1.action = 'resultat2.asp';
    return true;
}

Hvis dine radios begge hedder 'bla'

/mvh
</bole>
Avatar billede eksperten1 Nybegynder
03. februar 2003 - 01:39 #12
:))) funny

Jeg afprøver den imorgen. Mine øjne er ved at være små.

ole, hvis nu at jeg også gerne vil validere at brugeren har indtastet min. 3 tegn i søgefeltet ? Kan det komme med i samme script ?

mvh
Mark
(brum brum)
Avatar billede olebole Juniormester
03. februar 2003 - 01:48 #13
function soeg(){
    if (document.form1.FELTNAVN.value.length<3) {
        alert("Tumpeeeeeeee ...!");
        document.form1.FELTNAVN.focus();
        return false;
    }
    if (document.form1.bla[0].checked) document.form1.action = 'brancher.asp';
    else document.form1.action = 'resultat2.asp';
    return true;
}
Avatar billede olebole Juniormester
03. februar 2003 - 01:51 #14
Og det her er lidt mere 'sexy' og overskueligt:

function soeg(f){
    if (f.FELTNAVN.value.length<3) {
        alert("Tumpeeeeeeee ...!");
        f.FELTNAVN.focus();
        return false;
    }
    if (f.bla[0].checked) f.action = 'brancher.asp';
    else f.action = 'resultat2.asp';
    return true;
}

<form onsubmit="return soeg(this);">
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel