Acties:
  • 0 Henk 'm!

  • van.der.schulting
  • Registratie: Juli 2002
  • Laatst online: 09-08-2024
Voor ik begin... Ik vind het niet zo erg dat het in IE6 niet goed werkt, maar het zou fijn zijn als het onderstaande probleem in IE7 in iedser geval is opgelost...

Ik maak gebruik van de jQuery.change event. Dit werkt prima behalve in IE6 & IE7.
Om iets specifieker te zijn, onderstaande code werkt dus niet in IE6 & IE7
code:
1
2
3
$('form#insurances_form').change(function() {
  $('form#insurances_form').submit()
})


Het gaat om een formulier met selectboxes zonder submit-knop. Als een andere optie geselecteerd is moet het formulier submitten. Dat gebeurd dus niet in IE6 & IE7. Als ik er op Google kom ik overal tegen dat ik een onclick-event kan gebruiken. Helaas werkt dat natuurlijk niet voor mijn selectboxes. Dan wordt het formulier te vroeg gesubmit ;).
Ik heb het nu opgelost door in IE6 & IE7 alsnog de submit-button weer te geven. Het werkt, maar echt een nette oplossing vind ik het niet.

Weet iemand hoe ik na het wijzigen van de optie van een selectbox een form kan submitten in IE6 & IE7 zonder gebruik te maken van een submit-knop?

Acties:
  • 0 Henk 'm!

  • Acid_Burn
  • Registratie: Augustus 2001
  • Laatst online: 17:14

Acid_Burn

uhuh

Als onclick wel werkt zou je natuurlijk in de handler kunnen controleren wat de waarde is van de selectbox en pas submitten als de juiste waarde is geselecteerd.

Glass Eye Photography | Zelfbouw wireless fightstick | Mijn puzzel site


Acties:
  • 0 Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 16-09 20:52

krvabo

MATERIALISE!

Je hebt nu een change() op een form. Probeer het eens met zoiets:

JavaScript:
1
$('form#insurances_form > *').change(function() {

of
JavaScript:
1
$('form#insurances_form select').change(function() {


Wellicht dat het dan wel werkt, dit lijkt me in ieder geval logischer.

Mocht het niet werken zou je dit kunnen proberen als last resort (geen 'mooie code', maar bij mij heeft het eens geholpen)

JavaScript:
1
$('form#insurances_form select').bind($.browser.msie ? 'propertychange': 'change', function() {


Oh ik zie dat Acid_Burn dit hieronder ook aanhaalt :)

[ Voor 33% gewijzigd door krvabo op 23-06-2012 23:09 ]

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Of check even de comment van Kyle Florence op http://api.jquery.com/change/

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • Acid_Burn
  • Registratie: Augustus 2001
  • Laatst online: 17:14

Acid_Burn

uhuh

Ik vond dit nog:

IE heeft een onpropertychangeevent, misschien kan je daar wat mee.
code:
1
2
3
$("#viewByOrg").bind($.browser.msie? 'propertychange': 'change', function(e) {
  e.preventDefault(); // Your code here 
});

Glass Eye Photography | Zelfbouw wireless fightstick | Mijn puzzel site


Acties:
  • 0 Henk 'm!

  • van.der.schulting
  • Registratie: Juli 2002
  • Laatst online: 09-08-2024
Alle methodes heb ik geprobeerd, maar geen van alle werkt :(

Bij de methode van Kyle Florence probeer ik via de jQuery.each() methode alle selectboxes aan te spreken, maar de each-methode lijkt niet te werken in IE7
Als alternatief probeer ik alle selectboxes afzonderlijk aan te spreken, maar ook dat wil niet.

Een selectbox via een ID aanspeeken doe je toch als volg, of doe ik iets fout
code:
1
field = $('select#own_risk')

of
code:
1
field = $('select#own_risk').first()


als ik dan probeer: alert(field.tagName), dan krijg ik undefined terug. :?

Acties:
  • 0 Henk 'm!

  • Acid_Burn
  • Registratie: Augustus 2001
  • Laatst online: 17:14

Acid_Burn

uhuh

Probeer het eens zo:
code:
1
2
field = $('select#own_risk');
alert(field.prop('tagName'));

[ Voor 6% gewijzigd door Acid_Burn op 24-06-2012 01:41 ]

Glass Eye Photography | Zelfbouw wireless fightstick | Mijn puzzel site


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
van.der.schulting schreef op zaterdag 23 juni 2012 @ 21:44:
Ik maak gebruik van de jQuery.change event. Dit werkt prima behalve in IE6 & IE7.
Welke versie van jQuery gebruik je? Het change event werkt onder IE8 en lager namelijk pas naar behoren sinds versie 1.7.1 of 1.7.2 van jQuery. (Bedankt Microsoft maar voor hun half-bakken implementatie...)

[ Voor 8% gewijzigd door R4gnax op 24-06-2012 12:58 ]


Acties:
  • 0 Henk 'm!

  • robkorv
  • Registratie: Maart 2005
  • Laatst online: 14-09 00:09
Het form heeft id="insurances_form"?
Dan hoef je niet op form te selecteren. Een id is uniek.
Je kan binnen een functie het element dat het event heeft veroorzaakt met this aanroepen.
code:
1
2
3
$('#insurances_form').change(function() {
  $(this).submit();
});

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
robkorv schreef op zaterdag 30 juni 2012 @ 18:34:
Het form heeft id="insurances_form"?
Dan hoef je niet op form te selecteren. Een id is uniek.
Je kan binnen een functie het element dat het event heeft veroorzaakt met this aanroepen.
code:
1
2
3
$('#insurances_form').change(function() {
  $(this).submit();
});
Alleen heeft de TS daar helemaal niets aan; het change event bubbelt in IE6/7 niet omhoog en zal dus nooit het form element bereiken. jQuery heeft een workaround hiervoor, maar deze werkt pas vanaf heel erg recente versies helemaal correct en zonder side-issues.
Pagina: 1