Hallo an alle,
Ich hab mal wieder ein Problem, anfänger halt... Ich hole mir aus einer DB Nachrichten, diese sollen anfangs nur den Betreff zeigen und beim onclick Event erst den Nachrichten Text zeigen. Also lass ich php die Daten in divs packen vergebe eine Eindeutige ID (kommt auch nirgends woanders im QT vor), funtioniert auch tadellos. Im QT stehen die richtigen ID´s an der richtigen Stelle. Hier der PHP Teil:
Wenn ich nun auf das zu öffnende (bsp. das erste) Element im FF Klicke ziegt mir das alert aus der js function:
eine 2 an und öffnet nicht das angeklickte sondern das Element darunter. Ich hatte die function anfangs ohne die Browserweiche, macht in beiden fällen kein Unterschied aus. Ich erhalte keine Fehlermeldung. Im IE geht es aber tadellos. Wodran kann es liegen? Es will mir nicht in den Kopf warum FF aus ner eins ne zwei macht obwohl im QT alles richtig sitzt.
Ich hab mal wieder ein Problem, anfänger halt... Ich hole mir aus einer DB Nachrichten, diese sollen anfangs nur den Betreff zeigen und beim onclick Event erst den Nachrichten Text zeigen. Also lass ich php die Daten in divs packen vergebe eine Eindeutige ID (kommt auch nirgends woanders im QT vor), funtioniert auch tadellos. Im QT stehen die richtigen ID´s an der richtigen Stelle. Hier der PHP Teil:
PHP-Code:
<?php
$sql = 'SELECT user_msg.head, user_msg.msg, user_msg.user_id, user_msg.time, user_msg.read, user.vorname, user.name FROM user_msg LEFT JOIN user ON (user_msg.user_id=user.id) WHERE to_id="' . $_SESSION['user_id'] . '"';
$result = mysql_query($sql);
$msg_id = 1;
while($mail = mysql_fetch_assoc($result)){ ?>
<div class="msg_container">
<p class="mail_line" onclick="openMsg('<?= $msg_id ?>');">
<?php
if($mail['read'] == 0){
echo '[b]';
}
?>
<span class="betreff"><?= $mail['head']?></span><span class="from"><?= $mail['vorname'] ?><?= $mail['name'] ?></span><span class="msg_datum">
<?php
// Zeit und Datum der Message
$time = $mail['time'];
$msgTime = date('H:i:s', $time);
$msgDate = date('d.m.Y', $time);
list($tag, $mon, $jahr) = explode('.', $msgDate);
// Zeit und Datum von Heute
$now = time();
$nowDate = date('d:m:Y', $now);
list($tagN, $monN, $jahrN) = explode('.', $nowDate);
if($tag == $tagN && $mon == $monN && $jahr == $jahrN){
echo $msgTime;
}else{
echo $msgDate;
}
?>
</span>
<?php
if($mail['read'] == 0){
echo '[/b]';
}
?>
</p>
<p class="msg_text" style="display:none" id="msg_<?= $msg_id ?>">
<?= $mail['msg']?></p>
</div>
<?php
$msg_id++;
}
?>
Code:
function openMsg(id){
if(document.layers) {
// Netscape 4.x-Code
alert("layers: "+id);
var element = "msg_"+id;
var msg = document.element;
if(msg.style.display == 'none'){
msg.style.display = 'block';
}else{
msg.style.display = 'none';
}
}
if(document.all) {
// Internet Explorer 4.x/5.x/6.x-Code
alert("all: "+id);
var element = "msg_"+id;
var msg = document.all.element;
if(msg.style.display == 'none'){
msg.style.display = 'block';
}else{
msg.style.display = 'none';
}
}else if(document.getElementById) {
// Netscape 6.1-Code
alert(id);
var msg = document.getElementById('msg_'+id);
if(msg.style.display == 'none'){
msg.style.display = 'block';
}else{
msg.style.display = 'none';
}
}
}

Kommentar