Avatar billede dennis604 Nybegynder
24. februar 2000 - 23:59 Der er 13 kommentarer og
2 løsninger

Viderestilling alt efter valg

Jeg har et lille problem:

På en side jeg har lavet er der mange indputbokse, radioknapper osv. Når brugeren har valgt og trykker submit, skal han stilles videre alt efter hvad han har valgt! Hvordan gør man det i javascripts?

Nu det svære: Svarene skal sendes til mig via email, er der en smart måde at gøre det på?
Avatar billede kim_bille Nybegynder
25. februar 2000 - 00:58 #1
<form name=navnForm onSubmit="redirect()" action="mailto:navn@udbyder.dk">

og så en JavaScript function, som tjekker (via nogle if-sætninget) hvad brugeren har valgt og sender denne videre efter dette.
eks:
<script>
function redirect()
{
if (document.formNavn.feltNavn='something') {document.location.href="someth1.htm"}
// eller to betingelser
if ((document.formNavn.feltNavn='something')&&(document.formNavn.feltNavn='somethingElse')) {document.location.href="somethE.htm"}
}

Giver det nogen menning (læs: hvor god er du til JS)
Avatar billede olebole Juniormester
25. februar 2000 - 01:16 #2
<ole>

Hvis det er dine radios, der skal vælge destinationen, kan du bruge dette:

<html>
<head>
<script language="JavaScript"><!--

var destination = '1.html';

function setDest(which) {
    destination = which;
}

function redirect() {
    document.location.href = destination;
}
// -->
</script>

</head>
<body>

<form action=mailto:din@mail.dk onsubmit=redirect();>
<input type=text>
<input type=radio name=noget checked onclick=setDest('1.html');>
<input type=radio name=noget onclick=setDest('2.html');>
<input type=radio name=noget onclick=setDest('3.html');>
<input type=radio name=noget onclick=setDest('4.html');>
<input type=radio name=noget onclick=setDest('5.html');>
<input type=submit value=' SEND '>
</form>

</body>
</html>

/VH
</bole>
Avatar billede dennis604 Nybegynder
25. februar 2000 - 02:07 #3
kim_bille,

Lidt kender jeg til js, men dette du siger virker ikke hos mig. Du kan se eksemplet på

www.dennis604.kollegiegaarden.dk

Fx. hvis brugeren krydser ja i spm. 1 OG svar noget i A i underspm. skal han sendes videre til en bestemt side.
Avatar billede olebole Juniormester
25. februar 2000 - 06:01 #4
Adressen duer ikke.
Avatar billede dennis604 Nybegynder
25. februar 2000 - 09:42 #5
Avatar billede kim_bille Nybegynder
25. februar 2000 - 15:06 #6
ole> hvordan checker man hvilken radio er valgt fra JS, dette virker ikke:

document.formName.radioName.value==Ja

<input type="radio" name="radioName" value="Ja">
<input type="radio" name="radioName" value="Nej">
Avatar billede olebole Juniormester
26. februar 2000 - 00:29 #7
Du kan tælle dig igennem med 'for' løkke. Læs evt. Eriks fortrinlige svar her:
http://www.eksperten.dk/spm.asp?id=8646
Eller du kan læse mit forslag her:
http://www.eksperten.dk/spm.asp?id=11360

Generelt kan du bruge Ekspertens udmærkede søgefunktion oppe i den blå menubar under...øhhh...jeg må lige scrolle...under...øhhh...SØG!!!...Hehe.
Spøg til side, her kan du finde svar på MANGE spørgsmål.
Avatar billede dennis604 Nybegynder
26. februar 2000 - 00:44 #8
Kim_bille,

JEg har rodet liddt med dit forslag, men enten redirecter den uden at maile, eller omvendt, hvad skal jeg gøre?

Jeg vil gerne give dig 100 points hvis det hjælper ;-)

Avatar billede olebole Juniormester
26. februar 2000 - 02:03 #9
<ole>
Ny version:

<html>
<head>
<script language="JavaScript"><!--

var destination = '1.html';

function setDest(which) {
    destination = which;
}

function redirect() {
    document.location.href = destination+"?"+document.forms[0].minText.value;
}

// -->
</script>

</head>
<body>

<form>
<input type=text name=minText>
<input type=radio name=noget checked onclick=setDest('1.html');>
<input type=radio name=noget onclick=setDest('2.html');>
<input type=radio name=noget onclick=setDest('3.html');>
<input type=radio name=noget onclick=setDest('4.html');>
<input type=radio name=noget onclick=setDest('5.html');>
<input type=button value=' SEND ' onclick=redirect();>
</form>

</body>
</html>

Dette var dit første dokument.
Det næste (f.eks. '1.html') ser således ud:

<html>
<body>

<form action=mailto:din@mail.dk >
<input type=hidden name=ny>
</form>

<script language="JavaScript"><!--
var minMail = location.search.substring(1,location.search.length);
document.forms[0].ny.value = minMail;
document.forms[0].submit();
// -->
</script>

</body>
</html>

Plus alt det andet, selvfølgelig.

Det der sker, er at der først sendes mail fra det doku, du ankommer til. Mail indholdet tages med i URL'ens 'search string'.
At scriptet først kommer nede på siden, skyldes, du lige skal have skrevet din form, før du kan sætte en værdi i den (den skjulte 'ny').

Lidt af en workaround, men jeg tror ikke du kan få både mail og redirect i et hug - håber det hjælper.
</bole>

Avatar billede olebole Juniormester
26. februar 2000 - 02:49 #10
Det er også lidt skod, da du får en ASCII kodet search-streng. Dvs at alle ordmellemrum bliver konverteret til '%20'  :-((
Det kan dog løses således:

<script language="JavaScript"><!--
var minMail = location.search.substring(1,location.search.length);

while (minMail.indexOf('%20') != -1) {
minMail = minMail.substring(0,minMail.indexOf('%20')) + " " + minMail.substring(minMail.indexOf('%20')+3,minMail.length);
}

alert(minMail);
document.forms[0].ny.value = minMail;
document.forms[0].submit();
// -->
</script>

så får du 'rigtige' mellemrum tilbage.
Det vil også være en fordel at skrive:

<meta http-equiv=content-type content="text/css">

i head'en i det første dokument. Det giver mulighed for at bruge æ, ø og å.
Avatar billede olebole Juniormester
26. februar 2000 - 02:51 #11
Bare slet min 'alert'...den var kun til test ;-)
Avatar billede kim_bille Nybegynder
28. februar 2000 - 01:56 #12
pil> Jeg har sendt dig en mail med behovsanalyse.htm

Jeg kunne ikke din tabel nederst bl.a. der for har jeg ikke færdig gjort html'en

Kim
Avatar billede dennis604 Nybegynder
28. februar 2000 - 10:22 #13
Kim_bille,

Det er ikke piil du skal sende den til, men til mig på dkr@arf.dk.

Det samme gælder olebole, hvis du har lavet noget, for jeg har ligesom mistet overblikket over jeres svar§;-)

I skal nok få pointene!

Dennis

Avatar billede kim_bille Nybegynder
29. februar 2000 - 15:07 #14
Ups

dennis> Jeg har sendt dig en mail med behovsanalyse.htm

Jeg kunne ikke finde mening i din tabel nederst bl.a. der for har jeg ikke færdig gjort html'en

Kim
Avatar billede dennis604 Nybegynder
29. februar 2000 - 15:10 #15
Ok, tabellen nederst skal du bare se bort fra, det er til intern brug.

MEn jeg har endnu ikke modtaget den mail fra dig, måske kommer den. Men ellers er adressen: dkr@arf.dk hvis du gider sende den en gang til!!
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