[js] onchange en onclick

Pagina: 1
Acties:

  • barteke
  • Registratie: September 2002
  • Laatst online: 25-06-2023
Heya,

Ik heb wat pulldownmenuutjes in een html form die de js submit functie aanroepen, om vervolgens met PHP uit een DB een ander pulldown menu te genereren.


onchange='formname.submit();'


dat werkt allemaal heel mooi.. alleen niet als er ook nog een andere "gewone" submitknop zich bevind binnen het forum, dit conflicteerd om de 1 of andere reden.

Ik kan het hele formulier wel gewoon submitten met iets dergelijks al dit:

<input type="button" value="Verzend" class="formbutton" onclick="mainform.submit();">

alleen.. omdat nu het form zowel met die button als met 1 van de pulldown formulieren wordt gesubmit is het noodzakelijk dat ik onderscheid maak tussen die twee submit requests, in verband met error handeling o.a. dat wordt serverside afgehandeld.

hoe kan ik dit bewerkstelligen? de button geeft volgens mij geen waarde mee die door php opgevangen kan worden. dus het php script ziet geen verschil tussen de twee submit requests..

[ Voor 6% gewijzigd door barteke op 19-04-2003 18:03 ]

I am a rock, I am an Island, and a rock feels no pain and an Island never cries


  • DaRKie
  • Registratie: December 2001
  • Laatst online: 20-08 15:40
barteke schreef op 19 april 2003 @ 18:02:
...
hoe kan ik dit bewerkstelligen? de button geeft volgens mij geen waarde mee die door php opgevangen kan worden. dus het php script ziet geen verschil tussen de twee submit requests..
ik ken niets van php, maar ik heb wel in jsp gewerkt met html forms en daar kon ik dus wel zien welke knop er ingedrukt is geweest.
Als je de knop een naam geeft, dan kon je de inhoud opvragen zoals van een input field
die waarde vergelijk je dan met de value die je aan de knop gegeven hebt, komen ze overeen, dan heeft men op de knop gedrukt

zow dus:
<input NAME="button1" type="button" value="Verzend" class="formbutton" onclick="mainform.submit();">


(als ik het mij goed herinner)

[ Voor 8% gewijzigd door DaRKie op 19-04-2003 18:07 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:46
Javascript hoort thuis in W&G.

https://fgheysels.github.io/


Verwijderd

Allereerst:
onchange="this.form.submit();"
of
onchange="document.forms['formnaam'].submit();"
gebruiken.

Verder zou het toevoegen van een submit knop nooit enige invloed moeten kunnen hebben, tenzij je hem een heel onverstandige naam geeft. Door een inputveld of submit knop met de naam "submit" zou je formulier inderdaad niet veel meer doen.

[ Voor 8% gewijzigd door Verwijderd op 19-04-2003 18:10 ]


  • barteke
  • Registratie: September 2002
  • Laatst online: 25-06-2023
whoami schreef op 19 april 2003 @ 18:09:
Javascript hoort thuis in W&G.
Juist.. vergeef me. Het zal niet meer gebeuren. :)


Goed.. het werkt nu Idd, het lang inderdaad aan de naam van de submitknop :z

maar waarom is het zo belangrijk om this.form.submit() of onchange="document.forms['formnaam'].submit();" te gebruiken?

Darkie,
<input NAME="button1" type="button" value="Verzend" class="formbutton" onclick="mainform.submit();">

bovenstaande heeft geen effect, php vangt alleen de waarde van de naam van de knop op als je een type="submit" gebruikt, ik heb het
getest..

nogmaals bedankt voor de reacties.

Bart

I am a rock, I am an Island, and a rock feels no pain and an Island never cries


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 19 april 2003 @ 18:10:
[...]
Verder zou het toevoegen van een submit knop nooit enige invloed moeten kunnen hebben, tenzij je hem een heel onverstandige naam geeft. Door een inputveld of submit knop met de naam "submit" zou je formulier inderdaad niet veel meer doen.
Wat in 80% van de gevallen wel gedaan wordt, gevolgd door een afvraging ala
PHP:
1
if ($submit) { }

in php...

note dat in IE een submit met enter de waarde van je submit button niet meestuurd. Een javascript submit zal in geen geval de value van de submitbutton meesturen (als hij een name property heeft).
Een submit afvragen doe je het beste zo in je php:

PHP:
1
if ($_SERVER['REQUEST_METHOD'] == 'POST') { }

[ Voor 27% gewijzigd door crisp op 19-04-2003 18:35 ]

Intentionally left blank

Pagina: 1