Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Javascript / DHTML / Ajax

Cevapla
 
LinkBack Seçenekler
Eski 02/09/2005, 19:03   #1 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 11/2004
Mesaj: 227
Varsayılan türkçe karakter sorunu

bir input alanı için otomatik tamamlama scripti buldum. daha önceden grilen verileri ilk harfi girinceo gerisiini tamamlıo. sorun şurda. türkçe karakter sorunu var. sayfaya

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1254">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">


kodlarınıda ekledim sorun çözülmedi. Ve de javascript kodlarının içindede karakterle ilgili bi satır yok. Sizce böyle bi sorun neden olabilir..
yukku hatta değil   Alıntı Yaparak Yanıtla
Eski 02/09/2005, 19:09   #2 (permalink)
Eller Günahkâr
 
sigma Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 01/2005
Mesaj: 683
Varsayılan

Kodun tamamını göndersene bir sakıncası yoksa...
__________________
Önce demokrasi yağdı göklerimizden,
Sonra özgürlük geçti üstümüzden
Palet palet.
Ve insan hakları Namlularından
Saniyede bilmem kaç adet.
sigma hatta değil   Alıntı Yaparak Yanıtla
Eski 02/09/2005, 19:12   #3 (permalink)
İri Ceviz
 
KaravanaBatu Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 06/2004
Yer: İskenderun
Mesaj: 1,767
Varsayılan

utf-8 daha iyi diorlar.Sanırım daha erişilebilir.Daha uygun olabilir.Bi de onu dene.Sanırım satır şöyle oluyor.

<meta http-equiv="Content-Type" content="plain/text; charset=utf-8">

Sorun çıkarsa text/html yap.Şu an pek akılmda değil de.text/plain mi yoksa plain/text mi diye.Ama utf-8 kullan.
KaravanaBatu hatta değil   Alıntı Yaparak Yanıtla
Eski 06/09/2005, 10:24   #4 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 11/2004
Mesaj: 227
Varsayılan

kodun tamamını gönderemem başka sayfalara gömülü.çok zor olucak. bu arada utf 8 de işe yaramıo. ben karakterle ilgili başka bir kod var mı diye merak etmiştim. bilinenlerin hepsini kullanmışım zaten . ilgilendiğiniz için tşk..
yukku hatta değil   Alıntı Yaparak Yanıtla
Eski 06/09/2005, 10:55   #5 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 11/2004
Mesaj: 227
Varsayılan

kodları çıkardım, auto complete scripti bu form için. d harfine basınca deneme sorunsuz tamamlanıyor ama ç harfine basınca çağrıda sorun çıkıyor harf tekarı gözküyor.

Kodlar:




<html>
<head>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1254">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Auto-Completing Textbox Demo</title>

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

var customarray=new Array('deneme','çağrı');

/* ---- Variables ---- */
var actb_timeOut = -1; // Autocomplete Timeout in ms (-1: autocomplete never time out)
var actb_lim = 4; // Number of elements autocomplete can show (-1: no limit)
var actb_firstText = false; // should the auto complete be limited to the beginning of keyword?
/* ---- Variables ---- */

/* --- Styles --- */
var actb_bgColor = '#EBE8D6';
var actb_textColor = '#9A692E';
var actb_hColor = '#000000';
var actb_fFamily = 'Verdana';
var actb_fSize = '11px';
var actb_hStyle = 'text-decoration:underline;font-family:tahoma;font-weight="bold"';
/* --- Styles --- */

/* ---- Constants ---- */
var actb_keywords = new Array();
var actb_display = false;
var actb_pos = 0;
var actb_total = 0;
var actb_curr = null;
var actb_rangeu = 0;
var actb_ranged = 0;
var actb_bool = new Array();
var actb_pre = 0;
var actb_toid;
var actb_tomake = false;
/* ---- Constants ---- */

function actb_parse(n){
var t = escape(actb_curr.value);
var tobuild = '';
var i;

if (actb_firstText){
var re = new RegExp("^" + t, "i");
}else{
var re = new RegExp(t, "i");
}
var p = n.search(re);

for (i=0;i<p;i++){
tobuild += n.substr(i,1);
}
tobuild += ""
for (i=p;i<t.length+p;i++){
tobuild += n.substr(i,1);
}
tobuild += "";
for (i=t.length+p;i<n.length;i++){
tobuild += n.substr(i,1);
}
return tobuild;
}
function actb_generate(){
if (document.getElementById('tat_table')) document.body.removeChild(document.getElementById( 'tat_table'));
a = document.createElement('table');
a.cellSpacing='1px';
a.cellPadding='2px';
a.style.position='absolute';
a.style.top = eval(curTop() + actb_curr.offsetHeight) + "px";
a.style.left = curLeft() + "px";
a.style.backgroundColor=actb_bgColor;
a.id = 'tat_table';
document.body.appendChild(a);
var i;
var first = true;
var j = 1;


var counter = 0;
for (i=0;i<actb_keywords.length;i++){
if (actb_bool[i]){
counter++;
r = a.insertRow(-1);
if (first && !actb_tomake){
r.style.backgroundColor = actb_hColor;
first = false;
actb_pos = counter;
}else if(actb_pre == i){
r.style.backgroundColor = actb_hColor;
first = false;
actb_pos = counter;
}else{
r.style.backgroundColor = actb_bgColor;
}
r.id = 'tat_tr'+(j);
c = r.insertCell(-1);
c.style.color = actb_textColor;
c.style.fontFamily = actb_fFamily;
c.style.fontSize = actb_fSize;
c.innerHTML = actb_parse(actb_keywords[i]);
c.id = 'tat_td'+(j);
j++;
}
if (j - 1 == actb_lim && j < actb_total){
r = a.insertRow(-1);
r.style.backgroundColor = actb_bgColor;
c = r.insertCell(-1);
c.style.color = actb_textColor;
c.style.fontFamily = 'tahoma';
c.style.fontSize = actb_fSize;
c.align='center';
c.innerHTML = '\\/';
break;
}
}
actb_rangeu = 1;
actb_ranged = j-1;
actb_display = true;
if (actb_pos <= 0) actb_pos = 1;
}
function curTop(){
actb_toreturn = 0;
obj = actb_curr;
while(obj){
actb_toreturn += obj.offsetTop;
obj = obj.offsetParent;
}
return actb_toreturn;
}
function curLeft(){
actb_toreturn = 0;
obj = actb_curr;
while(obj){
actb_toreturn += obj.offsetLeft;
obj = obj.offsetParent;
}
return actb_toreturn;
}
function actb_remake(){
document.body.removeChild(document.getElementById( 'tat_table'));
a = document.createElement('table');
a.cellSpacing='1px';
a.cellPadding='2px';
a.style.position='absolute';
a.style.top = eval(curTop() + actb_curr.offsetHeight) + "px";
a.style.left = curLeft() + "px";
a.style.backgroundColor=actb_bgColor;
a.id = 'tat_table';
document.body.appendChild(a);
var i;
var first = true;
var j = 1;
if (actb_rangeu > 1){
r = a.insertRow(-1);
r.style.backgroundColor = actb_bgColor;
c = r.insertCell(-1);
c.style.color = actb_textColor;
c.style.fontFamily = 'tahoma';
c.style.fontSize = actb_fSize;
c.align='center';
c.innerHTML = '/\\';
}
for (i=0;i<actb_keywords.length;i++){
if (actb_bool[i]){
if (j >= actb_rangeu && j <= actb_ranged){
r = a.insertRow(-1);
r.style.backgroundColor = actb_bgColor;
r.id = 'tat_tr'+(j);
c = r.insertCell(-1);
c.style.color = actb_textColor;
c.style.fontFamily = actb_fFamily;
c.style.fontSize = actb_fSize;
c.innerHTML = actb_parse(actb_keywords[i]);
c.id = 'tat_td'+(j);
j++;
}else{
j++;
}
}
if (j > actb_ranged) break;
}
if (j-1 < actb_total){
r = a.insertRow(-1);
r.style.backgroundColor = actb_bgColor;
c = r.insertCell(-1);
c.style.color = actb_textColor;
c.style.fontFamily = 'tahoma';
c.style.fontSize = actb_fSize;
c.align='center';
c.innerHTML = '\\/';
}
}
function actb_goup(){
if (!actb_display) return;
if (actb_pos == 1) return;
document.getElementById('tat_tr'+actb_pos).style.b ackgroundColor = actb_bgColor;
actb_pos--;
if (actb_pos < actb_rangeu) actb_moveup();
document.getElementById('tat_tr'+actb_pos).style.b ackgroundColor = actb_hColor;
if (actb_toid) clearTimeout(actb_toid);
if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
}
function actb_godown(){
if (!actb_display) return;
if (actb_pos == actb_total) return;
document.getElementById('tat_tr'+actb_pos).style.b ackgroundColor = actb_bgColor;
actb_pos++;
if (actb_pos > actb_ranged) actb_movedown();
document.getElementById('tat_tr'+actb_pos).style.b ackgroundColor = actb_hColor;
if (actb_toid) clearTimeout(actb_toid);
if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
}
function actb_movedown(){
actb_rangeu++;
actb_ranged++;
actb_remake();
}
function actb_moveup(){
actb_rangeu--;
actb_ranged--;
actb_remake();
}
function actb_penter(){
if (!actb_display) return;
actb_display = 0;
var word = '';
var c = 0;
for (var i=0;i<=actb_keywords.length;i++){
if (actb_bool[i]) c++;
if (c == actb_pos){
word = actb_keywords[i];
break;
}
}
a = word;//actb_keywords[actb_pos-1];//document.getElementById('tat_td'+actb_pos).;
actb_curr.value = a;
actb_removedisp();
}
function actb_removedisp(){
actb_display = 0;
if (document.getElementById('tat_table')) document.body.removeChild(document.getElementById( 'tat_table'));
if (actb_toid) clearTimeout(actb_toid);
}
function actb_checkkey(evt){
a = evt.keyCode;
if (a == 38){ // up key
actb_goup();
}else if(a == 40){ // down key
actb_godown();
}else if(a == 13){
actb_penter();
}
}
function actb_tocomplete(sndr,evt,arr){
if (arr) actb_keywords = arr;
if (evt.keyCode == 38 || evt.keyCode == 40 || evt.keyCode == 13) return;
var i;
if (actb_display){
var word = 0;
var c = 0;
for (var i=0;i<=actb_keywords.length;i++){
if (actb_bool[i]) c++;
if (c == actb_pos){
word = i;
break;
}
}
actb_pre = word;//actb_pos;
}else{ actb_pre = -1};

if (!sndr) var sndr = evt.srcElement;
actb_curr = sndr;

if (sndr.value == ''){
actb_removedisp();
return;
}
var t = sndr.value;
if (actb_firstText){
var re = new RegExp("^" + t, "i");
}else{
var re = new RegExp(t, "i");
}

actb_total = 0;
actb_tomake = false;
for (i=0;i<actb_keywords.length;i++){
actb_bool[i] = false;
if (re.test(actb_keywords[i])){
actb_total++;
actb_bool[i] = true;
if (actb_pre == i) actb_tomake = true;
}
}
if (actb_toid) clearTimeout(actb_toid);
if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
actb_generate(actb_bool);
}
</script>
</head>

<body>
<h1>Auto-Completing Textbox Demo</h1>



<input type='textbox' onblur='actb_removedisp()' onkeydown='actb_checkkey(event);' onkeyup='actb_tocomplete(this,event,customarray)' value=''/>

</body>
</html>
yukku hatta değil   Alıntı Yaparak Yanıtla
Eski 06/09/2005, 15:05   #6 (permalink)
Üye
 
Sniper Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 06/2004
Yer: İstanbul
Mesaj: 2,287
Varsayılan

52. satırdaki var p = n.search(re); değişkenini var p = n.search(re)+1; olarak değiştirirsen harf tekrarı sorunu ortadan kalkar fakar başka bir sorun daha var. Gerçi scripti amacını tam olarak anlamadım ama "ı" harfine basınca da "çağrı" kelimesini döndürüyor. Eğer script ilk harfe bakarak veri çağırıyorsa bu bir hata, yok kelime içinde geçen harflere bakıyorsa sorun değil çokta güzel çalışıyor. Fakat her iki türlü de eline sağlık, sağlam bir kod...
__________________
tuncay.kinali.net
Sniper hatta değil   Alıntı Yaparak Yanıtla
Eski 06/09/2005, 16:19   #7 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 11/2004
Mesaj: 227
Varsayılan

kardeş valla süpersin. harf tekrarını ortadan kaldırdık sayende. diğer dediğin gelice çokda önemli diil o.ilk harften hatırlaması benim için yeterli. tşk tekrardan..
yukku hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
Türkçe karakter sorunu.. Rampage PHP 3 11/03/2007 14:56
Türkçe Karakter Sorunu madmemo ASP 4 25/07/2005 00:15
IE 6 Türkçe Karakter sorunu overworld Windows 8 05/06/2005 14:55
XML Türkçe Karakter Sorunu ozh ASP 1 18/05/2005 18:09
türkçe karakter sorunu bestprogramci Web Tasarım 3 14/02/2005 11:08


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 22:33.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net