[JS] form submitten in onclick werkt niet

Pagina: 1
Acties:
  • 162 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
de volgende code weigert dienst (er gebeurt niets als je op de link klikt):
code:
1
2
3
4
5
<html><head><title>test</title></head><body>
<form name="iets" action="../info.php">
</form>
<a href="javascript:void(0);" onclick="document.iets.submit();">blaat</a>
</body></html>

terwijl dit wel werkt (er wordt een prachtige alert getoond):
code:
1
2
3
4
5
<html><head><title>test</title></head><body>
<form name="iets" action="../info.php">
</form>
<a href="javascript:void(0);" onclick="alert('dus');">blaat</a>
</body></html>

waarom? :'( :( |:( ;(

Pas de replâtrage, la structure est pourrie.


Acties:
  • 0 Henk 'm!

Anoniem: 57968

Als je dit er van maakt doet hij het wel (false returnen dus):
code:
1
onclick="document.iets.submit();return false;"

Anders voert hij daarna direct dat void(0) uit, en wil hij het formulier dus niet submitten. ;)

Acties:
  • 0 Henk 'm!

  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
ok thnx dat werkt :)

nu het volgende probleem (eigenlijk hetzelfde probleem, maar dan de volledige versie):

ik heb een functie submitform:
code:
1
2
3
4
5
function submitForm(id)
{
    getByID(id).submit();
    return true;
}

(getByID() is een soort crossbrowser getElementByID - deze is getest en is dus niet het probleem)

in de pagina zelf staat ergens:
code:
1
2
3
4
5
<input
type="button"
onclick="submitForm('inlogform');return false;"
value="Log in">
</input>

(enters erin gedaan om de leesbaarheid te bevorderen)

als ik op deze button klik krijg ik de volgende foutmelding:
"Deze eigenschap of methode wordt niet ondersteund door dit object"
dit slaat op de functie submit() die niet ondersteund wordt door het form-object.
volkomen belachelijk dus. :?

als ik de volgende alternatieve functie gebruik:
code:
1
2
3
4
function submitForm(id)
{
    alert(getByID(id).action);
}

krijg ik keurig de action van de form-tag

help :?

(edit: beetje verduidelijkt en overbodige code gestript)

Pas de replâtrage, la structure est pourrie.


Acties:
  • 0 Henk 'm!

Anoniem: 18050

Waarom maak je er geen input type="submit" van ?!

Acties:
  • 0 Henk 'm!

  • Croga
  • Registratie: Oktober 2001
  • Laatst online: 07:05

Croga

The Unreasonable Man

En zet de aanroep van die functie dan in de OnSubmit van de <body> tag.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 08-05 16:20

Bosmonster

*zucht*

Op woensdag 03 juli 2002 12:06 schreef Croga het volgende:
En zet de aanroep van die functie dan in de OnSubmit van de <body> tag.
van het form bedoel je :?

Maar inderdaad.. een input-button met onclick=submit() IS gewoon een input-submit..

Waarom moeilijk doen als het makkelijk kan :P

Acties:
  • 0 Henk 'm!

Anoniem: 18050

Op woensdag 03 juli 2002 12:31 schreef Bosmonster het volgende:
Waarom moeilijk doen als het makkelijk kan :P
Ik was al bang dat m'n antwoord zou worden afgekraakt :)

Acties:
  • 0 Henk 'm!

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 21-08-2024

Clay

cookie erbij?

* Clay heeft teveel gelazer gehad met onclicks

submit ik niets meer mee. :P en als iets het niet doet (bij een klant bijvoorbeeld :) ) ligt het ALTIJD daaraan.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Acties:
  • 0 Henk 'm!

  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
De reden dat ik geen <input type="submit" /> gebruik, is dat het formulier eerst gevalideerd moet worden. Of kan dit ook met onSubmit? Het formulier moet uiteraard niet gesubmit worden als het niet geldig is.

Pas de replâtrage, la structure est pourrie.


Acties:
  • 0 Henk 'm!

Anoniem: 36226

Op woensdag 03 juli 2002 12:31 schreef Bosmonster het volgende:

[..]

van het form bedoel je :?

Maar inderdaad.. een input-button met onclick=submit() IS gewoon een input-submit..

Waarom moeilijk doen als het makkelijk kan :P
Niet helemaal. Er zijn twee verschillen:
1-als je form.submit() doet, wordt de form onsubmit niet uitgevoerd
2-de eerste input type=submit (of input type=image) wordt ook geklikt als je op enter drukt (default button). Dit gebeurd niet met input type=button volgens mij.
Op dinsdag 02 juli 2002 18:57 schreef Apollo_Futurae het volgende:
[...]
als ik op deze button klik krijg ik de volgende foutmelding:
"Deze eigenschap of methode wordt niet ondersteund door dit object"
dit slaat op de functie submit() die niet ondersteund wordt door het form-object.
volkomen belachelijk dus. :?
[...]
Het lijkt erop dat je een input het met de name submit. Kijk 's naar de volgende code:
code:
1
2
3
<form name="x" action="bla.url">
  <input type="button" name="submit" value="OK" onclick="getById('x').submit();">
...

x.submit is opeens je input geworden, ipv je submit-functie (die is overschreven). Ik hoop dat dit het is. Suc6

Acties:
  • 0 Henk 'm!

Anoniem: 36226

Op woensdag 03 juli 2002 19:57 schreef Apollo_Futurae het volgende:
De reden dat ik geen <input type="submit" /> gebruik, is dat het formulier eerst gevalideerd moet worden. Of kan dit ook met onSubmit? Het formulier moet uiteraard niet gesubmit worden als het niet geldig is.
Dat kan ook met een submit:
code:
1
2
3
4
5
6
7
8
<form ... onsubmit="return checkForm()"> 
....
<script>
function checkForm()
{
  if(blnGoed) return true;
  else return false;
}

De truc is dus dat je de onsubmit true of false laat returnen.
Pagina: 1