Avatar billede loukas Mester
13. marts 2004 - 13:55 Der er 18 kommentarer og
1 løsning

submitte form uden submitbutton

Jeg har en form.
Den skal submitte så snart en radiobutton er valgt.
Er ret ny med javascript.
Hvad gør jeg ?
Avatar billede bearhugx Nybegynder
13. marts 2004 - 13:57 #1
Hmmm lad mig gætte - til en afstemning / poll-boks ?
Avatar billede bearhugx Nybegynder
13. marts 2004 - 13:57 #2
klasker lige noget kode sammen
Avatar billede pfp Nybegynder
13. marts 2004 - 14:00 #3
Indsæt følgende i din HEAD:
<script type="text/javascript">
function submitForm(){
document.form1.submit();
}
</script>

Og så skal du have en radioButton der kalder funktionen:
<input name="radiobutton" type="radio" value="radiobutton" onclick="submitForm()" />
Avatar billede pfp Nybegynder
13. marts 2004 - 14:01 #4
Du skal selvfølgelig ændre navnet på din form hvis ikke den hedder 'form1'
Avatar billede bearhugx Nybegynder
13. marts 2004 - 14:04 #5
Her er en løsning :

<html>
    <body>
        <form name="formensNavn" action="actionURL">
            Hvor mange kanter har en trekant ?<br/>
            <input type="radio" name="valg" value="1"    onchange="document.forms['formensNavn'].submit();">1</input><br/>
            <input type="radio" name="valg" value="2"    onchange="document.forms['formensNavn'].submit();">2</input><br/>
            <input type="radio" name="valg" value="3"    onchange="document.forms['formensNavn'].submit();">3</input><br/>
            <input type="radio" name="valg" value="4"    onchange="document.forms['formensNavn'].submit();">4</input><br/>
            <input type="radio" name="valg" value="5"    onchange="document.forms['formensNavn'].submit();">5</input><br/>
        </form>
    </body>
</html>
Avatar billede bearhugx Nybegynder
13. marts 2004 - 14:10 #6
en rettelse.... onchange virker i Mozilla (som det jo skal) - men for Internet Explorer virker det ikke (men der er måske hvad man kan forvente af den skod-browser)...

Som pfp så er inde på, så er onclick så en mulig løsning - og den virker i både IE og Mozilla...

så kommer koden til at se således ud...

<html>
    <body>
        <form name="formensNavn" action="actionURL">
            Hvor mange kanter har en trekant ?<br/>
            <input type="radio" name="valg" value="1" onclick="document.forms['formensNavn'].submit();">1</input><br/>
            <input type="radio" name="valg" value="2" onclick="document.forms['formensNavn'].submit();">2</input><br/>
            <input type="radio" name="valg" value="3"    onclick="document.forms['formensNavn'].submit();">3</input><br/>
            <input type="radio" name="valg" value="4"    onclick="document.forms['formensNavn'].submit();">4</input><br/>
        </form>
    </body>
</html>
Avatar billede thesurfer Nybegynder
13. marts 2004 - 14:12 #7
Hvorfor ikke bare onclick="this.form.submit()" ?

Og desuden er document.FORMNAVN hurtigere en document.forms["FORMNAVN"] ..
Avatar billede ullidk Nybegynder
13. marts 2004 - 14:14 #8
Du kan også bruge denne hvis du vil kunne åbne forskellige sider alt efter hvilken radio er valgt:
<BODY>
<script language="JavaScript">
function radio_input(url)
{
window.location.href = "http://" + url
}
</script>
<form>

<input type="radio" name="selectname"
onClick="java script:radio_input('www.etellerandet.dk')">
Nr 1

<input type="radio" name="selectname"
onClick="java script:radio_input('www.nogetandet.com')">
Nr 2

<input type="radio" name="selectname"
onClick="java script:radio_input('www.bla bla.com')">
Nr 3

</form>
Avatar billede thesurfer Nybegynder
13. marts 2004 - 14:14 #9
..gælder også for '-tegnene i stedet for "-tegnene ;-)
Avatar billede thesurfer Nybegynder
13. marts 2004 - 14:17 #10
ullidk> Så submittes formen ikke.
Avatar billede bearhugx Nybegynder
13. marts 2004 - 14:18 #11
thesurfer>> .. kan godt se at this.form.submit() er hurigst/nemmest...

Men hvordan begrunder du at document.formnavn er "hurtigere" end document.forms['formnavn'´]

om man laver et opslag i document-array'en eller om man laver et opslag i forms-arrayen burde da være det samme - bortset fra at forms-arrayen jo er mindre, og derfor - teoretisk - skulle have kortere søgetid...
Avatar billede loukas Mester
13. marts 2004 - 14:20 #12
Tak for alle svarene.
Det var godt nok hurtigt ;-)
Avatar billede bearhugx Nybegynder
13. marts 2004 - 14:20 #13
ullidk >> der skal _IKKE: "java script: " med, når du arbejder med events - der er det allerede fastlagt, at du arbjeder i scripting.... Ved meget præcise browsere hænder det, at der ikke sker noget, når du skriver onclick="java script:alert('hej');" , da det betragtes som en javascriptfejl (syntaksfejl)
Avatar billede ullidk Nybegynder
13. marts 2004 - 14:20 #14
thesurfer>> Den havde jeg lige overset...thx:-)
Avatar billede thesurfer Nybegynder
13. marts 2004 - 14:22 #15
Når du bruger document.FORMNAVN, har den allerede fat i formen.
Når du bruger documen.forms["FORMNAVN"], skal den først nede i forms-arrayen, og så søger den efter formen der hedder "FORMNAVN".

Direkte vej er hurtigst :-)
Avatar billede bearhugx Nybegynder
13. marts 2004 - 14:24 #16
av. ja... havde glemt at document.forms.xxx betyder to opslag -- et til forms og et til xxx

... Man kan så spørge sig selv, om det er en kritisk hastighedsoptimering...
Avatar billede thesurfer Nybegynder
13. marts 2004 - 14:28 #17
Totalt kritisk.. fremtiden for befolkningen af denne planet, afhænger af det :-)
Det er forskellen på vores herredømme over maskinerne.. hvis man fejler, tager de over og vil udrydde os.. så bliver vi nød til at sende folk tilbage i tiden, for at stoppe folk der bruger document.forms["FORMNAVN"]..........

;-)
Avatar billede bearhugx Nybegynder
13. marts 2004 - 14:38 #18
thesurfer >> jeg kan lige se det for mig .... dig som en anden "Jan-Claus-von-Dum" agtig timecop, permanent installeret på eksperten for at forhindre det, som kan vise sig at være menneskehedens endeligt!
Avatar billede thesurfer Nybegynder
13. marts 2004 - 14:44 #19
hæhæhæ.. eller en Terminator (det var det jeg sigtede efter) .. ;-)
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