Zoque.Forum
»
arama sonuçları div içinde
|
| Sunucu Tabanlı Programlama (Server Side) Perl/CGI, PHP, ASP, JSP, .NET ve diğer programlama dilleri hakkındaki sorularınıza, paylaşmak istediklerinize ve örnek kodlara bu alanda yer verebilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
arama sonuçları div içinde
ana sayfada bulunan arama formuna girilen kelimenin sonuçlarını aynı sayfada sayfa değişmeden bir div içinde nasıl açabilirim...
HTML Code:
<form method="post" action="JavaScript:void(0)" onsubmit="return false;"> Ara: <input name="arama" type="text" size="10"> <input type="submit" value="xajax" onClick="ajaxsayfa('/inc/', 'icerik'); return false;"/> </form>
__________________
Disconnected Mesaj ilksen tarafından 04.03.2006 (01:19) yeniden düzenlendi.. |
|
|
|
|
|
|
#2 (permalink) |
|
Re: arama sonuçları div içinde
Bahsettiğin mevzuyu ajax ile yapabilirsin. Verdiğin örnekte bir fonksiyon çalıştırılıyor, bu fonksiyonu ve ona bağlı diğer fonksiyonları buraya yazarsan sıkıntıyı tam olarak anlayabiliriz sanırım. Ayrıca bahsettiğin olayı kendi sitemde yapmıştım orda bakabilirsin. Ama ben bir form ve submit butonu koymadım, arama sonuçları sen yazdıkça ekrana sıralanıyor.
__________________
onurkose.com |
|
|
|
|
|
|
#3 (permalink) |
|
Re: arama sonuçları div içinde
Kod:
<script type="text/JavaScript"> function ajaxsayfa(url, divid){ document.getElementById(divid).innerHTML="Sayfa Yükleniyor..." var page_request = false if (window.XMLHttpRequest) // if Mozilla, Safari etc page_request = new XMLHttpRequest() else if (window.ActiveXObject){ // if IE try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false page_request.onreadystatechange=function(){ loadpage(page_request, divid) } page_request.open('GET', url, true) page_request.send(null) } function loadpage(page_request, divid){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(divid).innerHTML=page_request.responseText } </script> zaten ilk mesajdaki kodlarda baya bi uğraştıktan sonra koydum aslında benim formda da button olmayacak forma veri girilince enter tuşuna basılacak ve form sonuçları aynı sayfadaki div içinde açılacak...
__________________
Disconnected |
|
|
|
|
|
|
#4 (permalink) |
|
Re: arama sonuçları div içinde
Şimdi buradaki sıkıntı sanırım fonksiyon ile form sonradan birleştirilmiş olmaları. Fonksiyonunuz Xhtmlhttprequest nesnesinin kullanımına ve alınan sonuçların verilen div'in içerisine doğrudan yazılmasına yarıyor. Yani ajax ile sadece Xmlhttprequest kısmıyla bağdaşıyor, verileri XML olarak elde edemiyişinden dolayı tam olarak ajax denemez. Burası ayrı bir konu tabiki...
Fonksiyonu kullanabilmemiz için parametrelerine bir bakalım; Kod:
function ajaxsayfa(url, divid){...}
Kod:
onClick="ajaxsayfa('/inc/', 'icerik'); return false;"
Arama değişkeninin arama işleminde kale alınmaması gayet normal, çünkü arama değişkeninin kullanılabilmesi için bu değişkeni bir şekilde aramayı yapacak olan dökümana iletmeniz gerekiyor, fakat şu ana kadar hiçbir aşamada bunu yapamadık. Sabit bir adresten sabit verileri çekip durduk. Buradan herketle arama formunu; Kod:
<input name="arama" id="arama" type="text" size="10">
<input type="button" value="xajax" onclick="ajaxsayfa('search.PHP?key='+document.getElementById('arama').value, 'icerik');"/>
Ayrıca ajax uygulamalarında ilk mesajındaki gibi form tagını kullanmana gerek yok. Sadece yukarıdaki iki eleman, arama işlemi için yeterli olacaktır. Not: onClick xhtml kullanıyorsan validate işleminde problem çıkartır. onclick şeklinde kullanmalısın. Ayrıca entera basınca yapılmasını istiyorsan eventKeyCode lara felan girmen gerekirki oda basit bir işlemdir. onclick olan yeri onkeypress olarak değiştir ve basit bir if sorgusuyla, "eğerki basılan tuş enter ise bu fonksiyonu çağır" diye bir mantık kur, enter tuşunun bir keycode değeri var onu kullanacaksın.
__________________
onurkose.com |
|
|
|
|
|
|
#5 (permalink) |
|
Re: arama sonuçları div içinde
çok teşekkür ediyorum çok iyi açıklamışsınız. benim JavaScript j'sini bilmememden kaynaklanıyor işte... getelements komutunu kullanmam gerektiğini farketmiştim ama... birazdan deniyecem bakalım... tekrar teşekkürler...
__________________
Disconnected |
|
|
|
|
Zoque'a hoşgeldiniz!