form submit bij click on label

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

01/10/2012 15:07:59
Quote Anchor link
Hallo mensen,

Een vraagje...
Stel ik heb een vraag met 3 antwoorden

Vraag 1:
Antwoord A
Antwoord B
Antwoord C

Wat ik wil, is dat wanneer er op een label wordt geklikt, het formulier automatisch wordt gesubmit. Nu wil ik niet aan ieder label een onclick event hangen, maar ik wil gebruik maken van een event listener.

Die event listener moet dan zien dat er op een label is geklikt en vervolgens het formulier versturen. Iemand een ideetje?

p.s. in raw javascript (dus geen jQuery e.d.)
Gewijzigd op 01/10/2012 15:18:35 door Ozzie PHP
 
PHP hulp

PHP hulp

25/11/2024 16:14:01
 
- SanThe -

- SanThe -

01/10/2012 15:25:15
Quote Anchor link
Maak er een <select> van en je hebt maar één onClick/onChange nodig.
 
Ozzie PHP

Ozzie PHP

01/10/2012 15:29:43
Quote Anchor link
Het kan helaas geen select box zijn. De vragen staan onder elkaar.

Iemand een ideetje / voorzet?
 
- SanThe -

- SanThe -

01/10/2012 15:31:30
Quote Anchor link
Je zegt net dat je maar één vraag hebt.
 
Ozzie PHP

Ozzie PHP

01/10/2012 15:35:55
Quote Anchor link
Ah pardon... scherp ;-)

Ik bedoel... ik heb meerdere antwoorden en die staan onder elkaar in beeld met een plaatje erbij (plaatje fungeert als label). Bij een klik op het plaatje (label) moet het formulier verstuurd worden.

Toevoeging op 01/10/2012 15:42:50:

laat maar even, ik kom er denk ik wel uit...
 
Jaron T

Jaron T

01/10/2012 16:01:36
Quote Anchor link
#("#formId input[type=checkbox]").click(function(){
// checkbox clicked
// $("#formId").submit() of $(this).parent("form").submit();
});

zoiets?
Gewijzigd op 01/10/2012 16:03:18 door Jaron T
 
Ozzie PHP

Ozzie PHP

01/10/2012 16:02:59
Quote Anchor link
Jaron... thanks, maar zoals ik al schreef wilde ik raw javascript ;)

Maar ik heb het waarschijnlijk al opgelost met addEventListener.
 
Jaron T

Jaron T

01/10/2012 16:04:04
Quote Anchor link
Waarom zou je het jezelf moeilijk maken met 'raw javascript'..? Nu heb je misschien een oplossing voor probleem a gevonden.. maar bij probleem b ga je weer opnieuw het wiel uitvinden.
 
Ozzie PHP

Ozzie PHP

01/10/2012 16:05:09
Quote Anchor link
Ja, nou ja... komt nu ff zo uit... en het lijkt cross-browser te werken ;)

Toevoeging op 01/10/2012 16:06:10:

Ben sowieso niet een voorstander van die libraries... heb altijd het idee dat dan ineens m'n code niet meer zou kunnen werken als er een update uitkomt.
 
Kris Peeters

Kris Peeters

01/10/2012 16:26:46
Quote Anchor link
Ozzie PHP op 01/10/2012 16:02:59:
... al opgelost met addEventListener.


Je weet dat addEventListener problemen geeft in oudere IE-versies?
Hiermee wordt dit opgelost (vanaf lijn 82)
http://www.phphulp.nl/php/forum/topic/utilsjs/85665/last/
Gewijzigd op 01/10/2012 16:27:38 door Kris Peeters
 
Ozzie PHP

Ozzie PHP

01/10/2012 16:30:41
Quote Anchor link
Kris, dankjewel voor de tip, maar ik had een makkelijkere oplossing gevonden die gewoon lijkt te werken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
if (el.addEventListener) {
  el.addEventListener('click', submitForm, false);
} else if (el.attachEvent) {
  el.attachEvent('onclick', submitForm);
}


Toevoeging op 01/10/2012 16:45:56:

Grrr.... nu gaat ie wel het formulier posten als ik op een label click... maar hij stuurt de waarde niet door :-s

Ik zou verwachten dat als ik op een label klik, dat ie dan de radiobutton selecteert (dit zie ik ook gebeurenh) en vervolgens het formulier post. Toch wordt het formulier leeg verstuurd... huh?? :-s

Om het formulier te versturen gebruik ik

document.forms['naam_van_formulier'].submit();

Iemand een idee wat er mis gaat?
 
Kris Peeters

Kris Peeters

01/10/2012 16:52:07
Quote Anchor link
Toon eens hoe je die radio buttons bindt, met addEventListener.
 
Ozzie PHP

Ozzie PHP

01/10/2012 16:55:05
Quote Anchor link
Kris... ik heb de labels gebonden... niet de radiobuttons.. gaat het daar fout denk je?

Toevoeging op 01/10/2012 16:55:33:

Ik zie de radiobutton wel geselecteerd worden zodra ik op een label klik. En dan vervolgens wordt het formulier gepost. In de $_POST array zit wel de waarde van een hidden field, maar de aangeklikte radio button wordt niet meegenomen.
Gewijzigd op 01/10/2012 16:56:41 door Ozzie PHP
 
Kris Peeters

Kris Peeters

01/10/2012 17:11:53
Quote Anchor link
Het lijkt er op dat het formulier eerst verzonden wordt vooraleer de waarde van de button wordt aangepast.

Probeer eens om toch te submitten op de onChange van de radio button.

---
Ook oppassen, mocht je ergens iets van e.preventDefault() gebruiken (of zoiets), dat je geen gedrag tegenhoudt dat wel moet gebeuren.
bv. als je dit toepast op een click op een labal, zou ik verwachten dat het label zijn werk niet meer doet en dus de waarde van de input niet aanpast
 
Ozzie PHP

Ozzie PHP

01/10/2012 17:51:08
Quote Anchor link
Kris, dankjewel! Ik kon nog net testen voordat ik van werk naar huis ging. Als ik de radio buttons bindt ipv de labels dan werkt het wel :) Misschien inderdaad wat jij zegt dat ik de default behaviour van de labels kapot had gemaakt :) Ik moet nog wel morgen even testen of het in alle browsers goed gaat.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.