[Javascript] document.forms[0].submit(); wil niet

Pagina: 1
Acties:

  • XiN-eViL
  • Registratie: Maart 2004
  • Laatst online: 01-05 13:38

XiN-eViL

kzie-nie-veel

Topicstarter
Ik heb een form, (genaamd reserv), hierin moeten een aantal dingen worden ingevuld vorodat ie wordt gesubmit. Nou ok denk ik dan, dat kan via javascript. Dus ik doe dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form action="reserv2.php" name="reserv">
<input name="naam" type="text" id="naam">
...............
<input name="Button" type="button" id="submit" value="Verzenden / Submit / Senden" onClick="CheckForm();">
</form>
<script language="javascript">
unction CheckForm()
{
    if (reserv.naam.value == "")
    {
        alert("Vul a.u.b. een naam in.\nPlease fill in a name.\nFüllen Sie bitte einen Namen aus.");
        reserv.naam.focus();
        return;
    }
    .................
    reserv.submit();
}
</script>

(Ik heb reserv.submit(); ook al proberen te vervangen door documents.forms[0].submit();, maar zonder succes)
Het controleren op lege velden werkt. Maar zodra alle velden zijn ingevuld en ik klik op de button, doet hij niks (IE geeft een "Fout op de pagina" linksonder).
Ik heb al gegoogled, maar ik snap het niet echt. Hoe kan dit?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13-05 21:26

gorgi_19

Kruimeltjes zijn weer op :9

Clientside zaken horen thuis in Webdesign & Graphics :)
>> Webdesign & Graphics

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Je submit button heet submit. Da's een gereserveerde naam. Noem 'm anders en je formulier werkt.

  • XiN-eViL
  • Registratie: Maart 2004
  • Laatst online: 01-05 13:38

XiN-eViL

kzie-nie-veel

Topicstarter
Verwijderd schreef op vrijdag 18 februari 2005 @ 19:59:
Je submit button heet submit. Da's een gereserveerde naam. Noem 'm anders en je formulier werkt.
Geprobeerd en werkt niet.
Ik heb zefls even een link gemaakt op het gegeven moment:
code:
1
<a href="#" onclick="javascript:documents.forms[0].submit();">test</a>

Maar dit werkt ook niet

Edit:
Voor de geïnteresseerde: http://www.skihappyinn.at/reserv.php

Die submit button werkt dus wel (submit alleen maar), maar de "verzenden / submit / senden" button niet (hiervoor gebruik ik bovenstaand scriptje).

[ Voor 34% gewijzigd door XiN-eViL op 18-02-2005 20:15 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 18:37
Geef je form een id="formuliernaam" en doe gewoon document.getElementById('formuliernaam').submit(); Dat werkt altijd. Zet verder Javascripts altijd in de head tag!

Verwijderd

djluc schreef op vrijdag 18 februari 2005 @ 20:52:
Geef je form een id="formuliernaam" en doe gewoon document.getElementById('formuliernaam').submit(); Dat werkt altijd. Zet verder Javascripts altijd in de head tag!
Ik ben er geen fan van om getElementById te gebruiken als je met formulieren werkt. Liever via document.forms of in dit geval nog even anders: gewoon this.form meegeven aan de functie als argument.

Verder dus inderdaad nooit een naam als "submit" aan een element geven, zie de eerdere opmerking van Blues.

Verder kun je het best zo expliciet mogelijk aangeven welke elementen/objecten je wilt benaderen. Dat betekent dus dat je niet reserv.naam.value moet gebruiken, maar bijvoorbeeld document.forms['reserv'].elements['naam'].value

[rml][Alg] Naamgeving[/rml]

[ Voor 4% gewijzigd door Verwijderd op 18-02-2005 21:04 ]


  • Standeman
  • Registratie: November 2000
  • Laatst online: 17:59

Standeman

Prutser 1e klasse

moet
code:
1
unction CheckForm()

toevallig geen
code:
1
function CheckForm()

zijn :? ;)

Maar de oorzaak is idd id="submit" als je daar id="blaat" van maakt werkt het script wel..

Verder ben ik wel fan van getElementsById, aangezien ik ook regelmatig met lange lijsten werk en dus de waarden "xx_" + yy nodig heb :)

[ Voor 53% gewijzigd door Standeman op 18-02-2005 21:34 ]

The ships hung in the sky in much the same way that bricks don’t.


  • flashin
  • Registratie: Augustus 2002
  • Laatst online: 17-12-2023
in de CheckForm() functie submit je aan het einde niets..

je zegt alleen reserv.reset();, waar je dus submit van moet maken

edit: die reset geeft een error volgens mij omdat het id van je reset button "reset" is.. ook eensch met getElementById() gebruik ^

[ Voor 40% gewijzigd door flashin op 18-02-2005 21:43 ]


  • XiN-eViL
  • Registratie: Maart 2004
  • Laatst online: 01-05 13:38

XiN-eViL

kzie-nie-veel

Topicstarter
OK, het werkt.
Van die reset ipv submit, ik weet het, ik deed dit even om te testen of dit ook een fout gaf.
Wat ik heb gedaan:
  • Javascript terug naar de Head verplaatst
  • Een id aan het form gegeven
  • De submit en reset button test en test2 genoemd
  • reserv.submit(); werkt nu :D
TY all _/-\o_

Verwijderd

En dat stukje over naamgeving heb je niet gelezen zeker?

  • XiN-eViL
  • Registratie: Maart 2004
  • Laatst online: 01-05 13:38

XiN-eViL

kzie-nie-veel

Topicstarter
Verwijderd schreef op vrijdag 18 februari 2005 @ 22:27:
En dat stukje over naamgeving heb je niet gelezen zeker?
Je bedoelt met document.forms['reserv'].elements['naam'] ?
Heb ik wel gelezen, maar als hij het zo doet, is het toch goed. Ik ben er al wel achter dat ik goed moet opletten dat ik hoofdletters goed gebruik :P . En dan gaan we nu lekker het scriptje schrijven dat voor mij die dingen mailt, maar dat is geen ramp.

  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

Het werkt idd wel, maar de enige goede onfeilbare manier is de manier die Cheatah noemt. Dus als jij zeker wil zijn dat je script overal werkt zou ik zijn advies toch maar opvolgen.
Pagina: 1