[JavaScript] Probleem in IE6

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen

Jeroen

24/12/2008 16:56:00
Quote Anchor link
Beste PHP-/JavaScripters,

Wanneer ik onderstaande code toepas in mijn document, ondervindt ik in FireFox 3 geen probleem maar in IE6 krijg ik de foutmelding "Object wordt verwacht".
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="application/javascript">
function followURL(id, url, title) {
    document.getElementById(id).className = 'selected';
    
    window.open(url, title, 'height=600, width=900, channelmode=1');
    
    setTimeout(clearClass(id), 2000);
}

function clearClass(id) {
    document.getElementById(id).className = '';
}
</script>
<?PHP
echo '<img src="images/icons/' . $iWidth . '/' . $i . '.gif" alt="icon" onclick="followURL(\'11\', \'index2.php\', \'INDEX 2\'); return false">';
?>
Als jullie hier een antwoord op hebben zou ik dat graag weten.

Met vriendelijke groet,

Jeroen van Doorn
Gewijzigd op 01/01/1970 01:00:00 door Jeroen
 
PHP hulp

PHP hulp

29/03/2024 03:23:05
 
- SanThe -

- SanThe -

24/12/2008 17:00:00
Quote Anchor link
Regel 15? Moet daar geen echo voor? En quotjes in?

Edit: Je was mij reeds voor. ;-)
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Jeroen

Jeroen

24/12/2008 17:01:00
Quote Anchor link
In het PHP gedeelte zit geen probleem, het probleem zit zich in het JavaScript gedeelte.
 
- SanThe -

- SanThe -

24/12/2008 17:03:00
Quote Anchor link
Helaas, ik werk nooit met Javascript. Dus ik kan je verder niet helpen.
 
Douwe

Douwe

24/12/2008 17:16:00
Quote Anchor link
Als ik het goed heb wil setTimeout zijn eerste parameter als string hebben, zo dus:
setTimeout("clearClass("+id+")", 2000);
 
Jeroen

Jeroen

24/12/2008 17:20:00
Quote Anchor link
Helaas, ik heb het geprobeerd maar dit is niet de oplossing! In FireFox gaat dit allemaal goed, bij de timeout zijn geen errors, nergens. Alleen in Internet Explorer gaat het fout, ik denk bij window.open, maar heb geen idee wat ik eraan kan doen.
 
Emmanuel Delay

Emmanuel Delay

24/12/2008 17:35:00
Quote Anchor link
Wat voor element is dit?
document.getElementById(id)

Heb je ergens iets met <... id="11" ...>?
 
Jeroen

Jeroen

24/12/2008 17:44:00
Quote Anchor link
Het probleem met JavaScript is opgelost, de code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script type="text/javascript">
function followURL(id,url,title) {
    document.getElementById(id).className='selected';
    
    setTimeout(openWindow(url,title),2000);
    setTimeout(clearClass(id),4000);
}

function openWindow(url,title) {
    var centerVertical=(screen.height-600)/2;
    var centerHorizontal=(screen.width-900)/2;
    myWindow=window.open(url,title,'height=600,top='+centerVertical+',width=900,left='+centerHorizontal+',directories=no,location=no,menubar=no,resizable=no')
    myWindow.focus();
}

function clearClass(id) {
    document.getElementById(id).className='';
}
</script>


Echter krijg ik nu een andere foutmelding: Regel 10 Ongeldig argument. Dit zou dus in de volgende regel moeten zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
setTimeout(openWindow(url,title),2000);

Deze functie slaat terug op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
function openWindow(url,title) {
    var centerVertical=(screen.height-600)/2;
    var centerHorizontal=(screen.width-900)/2;
    myWindow=window.open(url,title,'height=600,top='+centerVertical+',width=900,left='+centerHorizontal+',directories=no,location=no,menubar=no,resizable=no')
    myWindow.focus();
}


Iemand enig idee?

Alvast bedankt!

Jeroen
 
Douwe

Douwe

24/12/2008 17:46:00
Quote Anchor link
Probeer eens wat ik zei, misschien werkt dit in sommige gevallen ook, maar volgens de JS-manual moet het echt met aanhalingstekens...
 
Jeroen

Jeroen

24/12/2008 18:14:00
Quote Anchor link
Douwe,

Je hebt inderdaad gelijk, ik heb bij de setTimeout aanhalingstekens toegepast en toen deed hij het.

Iedereen bedankt!
 



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.