Multidesk.be » Forums » Webdevelopment & -scripting » [javascript] onclick bij IE

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Kilian op vrijdag 7 augustus 2009 om 15:13:15.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Hallo,

Ik houd niet van IE, maar nu doet ie toch wel heel lastig.
De volgende code werkt perfect in FF, maar IE doet niets:
CODE
  1.  
  2. function popup(id, reeks){
  3.         window.open('wijzig.php?id='+id+'&reeks='+reeks, 'Wijzig gebruiker', 'width=500,height=800,scrollbars=yes');
  4. return false;
  5. }
  6.  

De oproep:
CODE
  1.  
  2. <a href="#" onclick="popup('1', '_jff');">x</a>
  3.  


Leg mij nu eens uit wat FF verstaat, maar IE niet... Als ik op x klik met IE ga ik gewoon naar #, en komt er geen popup.
^ Reactie #1 geschreven door thekid op vrijdag 7 augustus 2009 om 15:39:00.
thekid's avatar
Multiviteit: 5273
Moderator
't is misschien een beetje kinderachtig van IE, maar je mag geen spatie gebruiken in de popup naam ;)

maak van wijzig gebruiker dus wijzig_gebruiker ;) :D

leuk hé :D
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #2 geschreven door Kilian op vrijdag 7 augustus 2009 om 15:55:57.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Ok, bedankt!
Volgende IE probleem:
PHP
  1.  
  2. <?php
  3.         echo '<tr><td>land</td><td><select name="country" ><option value=""> - - - - - - - - </option>';
  4.         $query=mysql_query("SELECT * FROM landen");
  5.         while ($land=mysql_fetch_assoc($query)){
  6.                 echo '<option value="'.$land['land'].'" onclick="land(\''.$land['nationaliteit'].'\', this.form);"';
  7.                 if ($data['country']==$land['land'])
  8.                         echo 'selected';
  9.                 echo '>'.$land['land'].'</option>';
  10.         }
  11.         echo '<option value="other"';
  12.                 if ($data['country']=='other')
  13.                 echo 'selected';
  14.         echo '>Other</option></select></td></tr>';
  15.  


Functie land:
CODE
  1.  
  2. function land(c, frm){
  3.         frm.nat.value=c;
  4. }
  5.  


Wat doe ik hier wat IE niet wil?
^ Reactie #3 geschreven door thekid op vrijdag 7 augustus 2009 om 16:50:19.
thekid's avatar
Multiviteit: 5273
Moderator
ik zou in dit geval denken dat een option geen onclick toelaat, je kan het misschien beter verwerken als onderdeel van je onchange event ;)

*edit

CODE
  1. <html>
  2. <head>
  3.   <title>Nationaliteit</title>
  4.   <script>
  5.   var nationals = new Array('unknown', 'Belg', 'English');
  6.   function land(elem, target)
  7.   {
  8.     document.getElementById(target).innerHTML = nationals[parseInt(elem)];
  9.     // andere dingen
  10.   }
  11.   </script>
  12. </head>
  13. <body>
  14. <div id="nat">-</div>
  15. <select name="country" onchange="land(this.value,'nat');">
  16. <option value="0"> - - - - - - - - </option>
  17. <option value="1">Belgium</option>
  18. <option value="2">England</option>
  19. <option value="0">Other</option></select>
  20. </body>
  21. </html>
  22.  
Deze tekst werd het laatst bewerkt voor 67.49 % door thekid op vrijdag 7 augustus 2009 om 17:32:39.
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #4 geschreven door Kilian op vrijdag 7 augustus 2009 om 18:11:01.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Dan moet ik m'n javascript dmv van php gaan maken. Gaat dat dan niet een beetje te ver? Eventueel kan ik dmv ajax alle nationaliteiten uit de database halen?
^ Reactie #5 geschreven door thekid op vrijdag 7 augustus 2009 om 18:21:40.
thekid's avatar
Multiviteit: 5273
Moderator
mja, hangt er idd vanaf hé

is het gigantisch veel data, dan uw manier, is het enkel voor dit (250 landen en hun benaming voor nationaliteit) is een rustig aantal, éh, kan je evt voor genereren, en gewoon in je afzonderlijke script plaatsen, moet dan niet @ runtime gebeuren ;)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #6 geschreven door Martijn op zaterdag 8 augustus 2009 om 22:45:26.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Wat wil je precies? De tekst uit de option (dus niet de value) in een DIV krijgen?

Je kan ook gewoon de landen naar een javascript array schrijven (in plaats van naar een lijst options) en zo de select box opvullen (via javascript).
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #7 geschreven door Kilian op zaterdag 8 augustus 2009 om 23:33:29.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
De landen en nationaliteiten komen uit de database. Deze moeten beheerbaar zijn vanuit het CMS. Ik dienk dat de databaseoplossing wel het beste is dan...
^ Reactie #8 geschreven door Kilian op maandag 10 augustus 2009 om 23:39:50.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Nog een vraagje: kan ik die gevenens niet op de 1 of andere manier "bufferen", zodat de query slechts 1 maal uitgevoerd dient te worden?
--edit--
ideetje: ik maak van die value bij de option gewoon land|nationaliteit. Nadien splits ik ze met split() (javascript) en explode(php)...
Deze tekst werd het laatst bewerkt voor 35.08 % door Kilian op maandag 10 augustus 2009 om 23:42:57.
^ Reactie #9 geschreven door thekid op dinsdag 11 augustus 2009 om 17:13:25.
thekid's avatar
Multiviteit: 5273
Moderator
bufferen -> array naar js :) da moet niet echt beschermd worden, er zijn legio andere sites die ook zoiets hebben :) en aangezien enkel die js laadt bij het registreren kan je er niet echt veel problemen mee hebben, hé

je kan het dan zelfs offline aanmaken, kvermoed niet dat er zoveel landen gaan bijkomen eenmaal gestart?

je kan natuurlijk uw split option ook gebruiken, alhoewel ik eerder landid|nationaliteit zou van maken (id voor link naar db, nationaliteit voor uw div, en land staat reeds als text in de option ;))
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen