05. maj 2004 - 23:41 Der er 7 kommentarer og
1 løsning

Problemer med submit i formularer

I nedenstående HTML har jeg lavet to formularer som skal fungerer i MSIE6. Den eneste virkelige forskel er at der er et mere text-felt i form2. Mit problem er at trykker man Enter i form1 bliver formen submittet som forventet, men det gør den ikke i form2. Jeg tror det er fordi jeg bruger linket til at submitte med. Hvordan får jeg det til at virke med kombinationen af link-submittet og flere felter?

Koden:
<form action="index.html" method="post" enctype="application/x-www-form-urlencoded" name="form1" target="_self" id="form1">
    <input name="textfelt11" type="text" id="textfelt11">
    <a href="#" onclick="document.forms['form1'].submit()">send1</a>
</form>
<form action="index.html" method="post" enctype="application/x-www-form-urlencoded" name="form2" target="_self" id="form1">
    <input name="textfield21" type="text" id="textfield21">
    <input name="textfield22" type="text" id="textfield22">
    <a href="#" onclick="document.forms['form2'].submit()">send2</a>
</form>
Avatar billede roenving Novice
05. maj 2004 - 23:48 #1
Hvorfor bruger du også text-links til submit, når der nu er et indbygget element til det ?-)

<input type="submit" value="send2" style="border:0px;background:white;padding:0px;">
06. maj 2004 - 07:15 #2
...fordi jeg godt kunne tænke mig at få en border og en baggrundsfarve på knappen, gør jeg det på dit eksempel f.eks. sætter border til 1px, så får jeg godt nok en border, men jeg får også skyggeffekten som normalt er på submitknappen og den vil jeg ikke have. Knappen skal derudover ikke være en IMAGE knap da den kun skal laves med stylesheet.
Avatar billede mm12010 Nybegynder
06. maj 2004 - 07:15 #3
du skal oz huske at man ikke kan have 2 ens id'er:

<form action="index.html" method="post" enctype="application/x-www-form-urlencoded" name="form1" target="_self" id="form1">
    <input name="textfelt11" type="text" id="textfelt11">
    <a href="#" onclick="document.forms['form1'].submit()">send1</a>
</form>
<form action="index.html" method="post" enctype="application/x-www-form-urlencoded" name="form2" target="_self" id="form2">
    <input name="textfield21" type="text" id="textfield21">
    <input name="textfield22" type="text" id="textfield22">
    <a href="#" onclick="document.forms['form2'].submit()">send2</a>
</form>
Avatar billede mm12010 Nybegynder
06. maj 2004 - 07:17 #4
<input type="submit" value="send2" style="border:1px solid green;background:red;padding:0px;margin:0px;">
06. maj 2004 - 07:23 #5
Desværre får man en fed border ud af dit sidste eksempel! Den eneste måde man får en rimelig pæn border er med: border:1px. Så snart man sætter farve på den bliver der to borders.
Avatar billede mm12010 Nybegynder
06. maj 2004 - 07:34 #6
lyder meget mærkeligt - må jeg se den omkringliggende kode og evt. css?
06. maj 2004 - 10:09 #7
...og her kommer så løsningen: Man laver en almindelig submit som man med alle midler undtagen "display:none" og "visibility:hidden" forsøger at skjule. Denne del tager sig af submit når man trykker enter. Derefter laver man så en link knap som man kan trykker på for at submitte. Det virker i MSIE6 og MOZILLA1.6

<form name="form1" method="post" action="">
        <input name="textfield1" type="text" id="textfield1">
        <input name="textfield2" type="text" id="textfield2">
        <input style="border:0px;width:0px;height:0px;margin:0px;padding:0px" type="submit" name="Submit" value="Submit">   
        <a href="#" onclick="document.forms['form1'].submit();return false;">ok</a>
    </form>
15. juni 2004 - 09:56 #8
Jeg fandt selv løsning (Se ovenfor), så jeg lukker spørgsmålet.
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