Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

javascript/css ve özellikle ie6, tablo yaratmakla ilgili


Fly

Öne çıkan mesajlar

js ile dom objeleri kullanarak tablo oluşturmak konusunda derin sıkıntılar çekiyorum, durum şu :

tablo var bir tane, id'si anatablo olsun
xmlhttp istekte bulununca içindeki tüm nodelar boşaltılıp cevap konuyor.

şimdi innerhtml elemanını kullanarak, özellikle firefox'ta şahane sonuçlar elde ediyorum, ie6/ie8'de hepten gözükmüyor.

bunun üzerine cevap olarak script gelsin onu çalıştırsın dedim, ayrı dosyada javascript ile bir tablo oluşturttum, cevap gelince bunu çalıştırtıyor. sorun da burada başladı :

1)firefox'ta dalga geçer gibi firebug'dan aldığım yorumu innerhtml metoduyla verince çıkmasını istediğim şeyi veriyor, ama dom ile verince rowspanleri iplemeden, orası burası göçmüş şekilde geliyor. google'da da yok layout çizilmeden önce metin yazma ık bık bişeyler denmiş ama yok yapamadım. tablo şu :
(phpli yerlerde sorun yok, düz metin geliyor varsayın)

html ile

<th colspan=3>DUYURULAR</th>
<tr>
<td class="ic" rowspan=2>
<?php
if ($ftch[0]<$eskiKriter){
$src="images/dyrYeni.gif";
$alt="Yeni duyuru";
}
else {
$src="images/dyrEski.gif";
$alt="Eski duyuru";
}
?>
<img src="<?php echo $src; ?>" alt="<?php echo $alt; ?>" title="<?php echo $alt; ?>"/></td>
<td class="title"><?php echo strip_tags($ftch['baslik_tr']); ?>
<td class="tarih title"><?php echo $ftch[1]; ?></td>
</td>
</tr>
<tr>
<td class="content" colspan=2><?php
echo $ftch['aciklama_tr'];
?></td>
</tr>

js ile :

tp=ap.appendChild(document.createElement('tr'));
tdh=tp.appendChild(document.createElement('td'));
tdh.setAttribute("class","ic" );
tdh.rowSpan=2;
tnode=document.createElement('img');
<?php
if ($ftch[0]<$eskiKriter){
$src="images/dyrYeni.gif";
$alt="Yeni duyuru";
}
else {
$src="images/dyrEski.gif";
$alt="Eski duyuru";
}
?>
tnode.setAttribute("src","<?php echo $src; ?>" );
tnode.setAttribute("alt","<?php echo $alt; ?>" );
tnode.setAttribute("title","<?php echo $title; ?>" );
tdh.appendChild(tnode);
tdh=tp.appendChild(document.createElement('td' ));
tdh.setAttribute("class","title" );
tdh.appendChild(document.createTextNode('<?php echo strip_tags($ftch['baslik_tr']); ?>'));
tdh=tp.appendChild(document.createElement('td' ));
tdh.setAttribute("class","title tarih" );
tdh.appendChild(document.createTextNode('<?php echo $ftch[1]; ?>' ));

tp=ap.appendChild(document.createElement('tr'));
tp.appendChild(document.createElement('td')); //geçici olarak var, olmaması lazım rowspani düzgün çizebilseydi
tdh=tp.appendChild(document.createElement('td'));
tdh.setAttribute("class","content" );
tdh.colSpan=2;
<?php
$yd= $ftch['aciklama_tr'];
?>
tdh.appendChild(document.createTextNode('<?php echo $yd; ?>'));

sonra bunlar bahsettiğim tabloya örneğin anatablo.innerhtml=... (veya text, ie'lerde textnode koyunca fatal error veriyor o da ayrı bir konyu) diye yazılıyor, ikinci durumda head'e ekliyor sonra scripti.

2)ie8 de firefox da saçmalasalar da bir şekilde gösteriyor, firefox rowspanli olanı iplemeyip hemen altına ikinci tryi sıkıştırıyor mesela
ie6'da ise topyekün yok. bunda da debug zımbırtısıyla bakınca tablonun olması lazım ortada ama boş yine.

ne yapayım, başına gelen var mı benzer bir durum ?
Link to comment
Sosyal ağlarda paylaş

Istedigin objeyi, metodu, fonksiyonu override edip yenisini yaratabilirsin JS'de. Sadece gidip tanimlayip bu budur diyosun o kadar. Anonim fonksiyon yaratir gibi.

edit : Bir de cok uzatmissin isini yau. Sana gelmesini istedigin cikti neyse direkt onu al ajax ile onu bas.

Bu arada browser compatibility icin -bir odev falan degilse- jQuery gibi bir JS FrameWork kullan, saclarini beyazlatmaktan kurtar diyorum sadece.

Zor gelirse yardimci olurum. 10 bilemedin 20 dakikada "ooo supermis" deyip oturursun yerine =)
Link to comment
Sosyal ağlarda paylaş

:((

di said:
...

yok yok obje derken domu kastettim, ie6 sonradan konan blokları güncellemiyormuymuş neymiş öyle bir şeyler okudum da, belki güncelletebilirsem gözükür diyordum
lakin gerek kalmadı, layoutu bile tablolu bir alt site yaptım, devlet dairesi ne iplesin zaten dizaynı sdf

bir de phpyi de göze alırsak, mesela ahmetsajdfkmehmet şeklinde kaydedilmiş bilginin link kısmını tamamen ayırmak için hazırda bir fonksiyon var mı ? oturup yazarım da hazırı varsa uğraşmayayım
Link to comment
Sosyal ağlarda paylaş

reyou said:

ben jquery ile ilgi bi kitap okuyorumda, sitelerde zaten jquery kullanilarak yapilan hazir componentlardan baska direk kullanmanin cokta bi faydasini goremedim ben..

du biraz daha okiyim bakim neler olcak.


jQuery ve diger js framework'lerin baslica amaci browser compatibility'dir zaten. Seni ugrastirmaz, isini kolaylastirir.

Her dilde, her kutuphane grubunda, her framework'te hazir fonksiyonlar/siniflar ile sadece bir yere kadar idare edebilirsin. Oturup kendininkileri yazman gerekir. Hazirlara bagimli kaldigin surece de aynen yukarida yazdigin gibi dusunursun. Oturup plug-in kullanmak yerine kendin yazmayi dene onlari. Olayin ozunu kavrayacaksin o zaman.

Dahasi istedigin seyleri yapmak icin gereken hersey var jQuery'de elinin altinda. Syntax'i ve temelini ogrendiysen bir jQuery cheat sheet bul, bas onu bi sekillde koy onune. Masaustune arkaplan yapsan bile olur.
Link to comment
Sosyal ağlarda paylaş

Fly said:

:((

di said:
...

yok yok obje derken domu kastettim, ie6 sonradan konan blokları güncellemiyormuymuş neymiş öyle bir şeyler okudum da, belki güncelletebilirsem gözükür diyordum
lakin gerek kalmadı, layoutu bile tablolu bir alt site yaptım, devlet dairesi ne iplesin zaten dizaynı sdf

bir de phpyi de göze alırsak, mesela ahmetsajdfkmehmet şeklinde kaydedilmiş bilginin link kısmını tamamen ayırmak için hazırda bir fonksiyon var mı ? oturup yazarım da hazırı varsa uğraşmayayım


Cesitli amaclar icin yazilmis zilyon tane parser snippet/class var tabiki ama php core functions icinde explode haricinde birsey yok. Dolayisiyla regular expressions kullanmani ya da explode ile kendine her yerde kullanabilecegin basit bir fonksiyon yazmani tavsiye ederim. Ben kendi fonksiyonumu yazmistim lazim oldugunda. Sitenin birinden GB'larca veri araklamama yardimci olmustu hatta rahmetli =P
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...