![]() | |
| | #1 (permalink) |
| Eski Cevizci Üyelik Tarihi: 11/2004
Mesaj: 227
|
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.. |
| | |
| | #3 (permalink) |
| İri Ceviz Üyelik Tarihi: 06/2004 Yer: İskenderun
Mesaj: 1,767
|
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.
__________________ Grup Vitamin ile ilgili herşey... |
| | |
| | #4 (permalink) |
| Eski Cevizci Üyelik Tarihi: 11/2004
Mesaj: 227
|
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..
|
| | |
| | #5 (permalink) |
| Eski Cevizci Üyelik Tarihi: 11/2004
Mesaj: 227
|
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> |
| | |
| | #6 (permalink) |
| Üye Üyelik Tarihi: 06/2004 Yer: İstanbul
Mesaj: 2,287
|
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 |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
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 |
| 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 | |