MyDesign | Kod Arşivi - Anasayfaya Dön   No banner in farm
Anasayfa Araştır Forum Gelişmiş Arama Siteniz İçin En Hit İçerikler RSS İçerik Ekle Scriptler Destekleyenler Kadromuz Reklam İletişim Giriş Sayfası Yap  Sık Kullanılanlara Ekle
Bu Kategorinin En Yeni Kodları:


Bu Kategorinin En Çok Görüntülenen Kodları:






Arama:
Gelişmiş Arama


No banner in farm



En Çok Görüntülenen Kodlar:


Üye Girişi:
 Üye Ol



Anasayfa > Asp > Kodlar

Ajax ile Birbirine Göre Otomatik Güncellenen Seçim Kutuları

Biri kategoriler biri alt kategorilerle dolu olan iki adet seçim kutusu bulunur. İlk seçim kutusunda kategorinin seçilmesiyle, ikinci seçim kutusunda, o kategorideki alt kategoriler listelenir. Bu işlem Ajax ile yapılır ve sayfanın tekrar yüklenmesine gerek kalmaz.

ajax  selectbox  combobox  veritabanı  form 

Kategori : Asp
Gönderen : mYavuz
Telif : MyDesign
Tarih : 30 Temmuz 2007
Örnek Dosya : İndir
Okunma Sayısı : 16516
Puan
: 9,5 / 10 (15 Oy)
Puan Verin :
Google Bookmarks  del.icio.us  Digg  Yahoo! MyWeb  Windows Live  Furl
 
 
Örnek veritabanını
www.mydesign.gen.tr/download/ornekler/db.mdb adresinden indirebilirsiniz.

<%
'Kaynak: www.mydesign.gen.tr

'// Nesneler hazırlanıyor
Set adoCon = Server.CreateObject("ADODB.Connection")
Set kd = Server.CreateObject("ADODB.Recordset")

'// Veritabanı bağlantısı yapılıyor
adoCon.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("db.mdb") &";"

strIslem = Request.QueryString("Islem")

If strIslem = "listele" Then

     intSeciliKategori = Request.QueryString("Kategori")
     If intSeciliKategori = "" Or IsNumeric(intSeciliKategori) = False Then intSeciliKategori = 0 %>

     <select name="diller" id="diller"><%
     If intSeciliKategori = 0 Then
          Response.Write "<option value=""0"">- Kategori Seçiniz -</option>"& vbCrLf
     Else
          kd.Open "SELECT * FROM Diller WHERE Kategori_ID = "& intSeciliKategori &" ORDER BY Dil ASC", adoCon, 1, 3
          If Not kd.Eof Then
               '// Kategorilerin listelendiği seçim kutusu, veritabanındaki bilgilerle dolduruluyor
               Do While Not kd.Eof
                    Response.Write "<option value="""& kd("Dil_ID") &""">"& kd("Dil") &"</option>"& vbCrLf
               kd.Movenext
               Loop
          Else
               Response.Write "<option value=""0"">Seçili kategoriye ait dil bulunmuyor.</option>"& vbCrLf
          End If
          kd.Close
     End If %>
     </select><br /><%
     Response.End
End If     
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>MyDesign | Kod Arşivi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254" />
<script type="text/javascript" language="javascript">
if(navigator.appName == "Microsoft Internet Explorer") {
     http = new ActiveXObject("Microsoft.XMLHTTP"); } 
else {
     http = new XMLHttpRequest(); }

function kategoriSec() {

     var kategori = document.getElementById('kategoriler').value;
     if(kategori!=0) {
          http.open('get', '<%=Request.ServerVariables("SCRIPT_NAME")%>?Islem=listele&Kategori=' + kategori);
          http.onreadystatechange = function() {
               document.getElementById('sonuc').innerHTML = "Diller yükleniyor...";
               if (http.readyState == 4) {
                    document.getElementById('sonuc').innerHTML = http.responseText; }
          };
          http.send(null);
     };
}
</script>
<style type="text/css">
body, select, input {
     font-family:Tahoma; font-size:11px; }

select, input {
     width:150px; margin:3px; }

input {
     border-width:0; background-color:#fff; }

label {
     display:block; margin:3px; width: 50px; float:left; text-align:right; width:75px; padding-right:10px;}

input {
     display:block; float:left; }

br {
     clear:left; }
</style>
</head>
<body>
<label for="kategoriler">Kategoriler :</label>
<select name="kategoriler" id="kategoriler" onchange="return kategoriSec()">
     <option value="0">- Kategori Seçiniz -</option><%
     kd.Open "SELECT * FROM Kategoriler ORDER BY Kategori ASC", adoCon, 1, 3
     If Not kd.Eof Then
          '// Kategorilerin listelendiği seçim kutusu, veritabanındaki bilgilerle dolduruluyor
          Do While Not kd.Eof
               Response.Write "<option value="""& kd("Kategori_ID") &""">"& kd("Kategori") &"</option>"& vbCrLf
          kd.Movenext
          Loop
     End If
     kd.Close %>
</select><br />

<label for="diller">Diller :</label>
<div id="sonuc"><input type="text" value="- Kategori Seçiniz -" disabled="disabled" /><br /></div>
</body>
</html>
 
 

Ajax ile Birbirine Göre Otomatik Güncellenen Seçim Kutuları için yazılan yorumlar

Cihan ARIK  { 21 Ağustos 2013 }
Türkçe karakter probleminden bahseden arkadaşlara atfen ;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>MyDesign | Kod Arşivi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254" />


bu kodları sayfa içinde orta kısımdan en tepeye taşımanızı öneriyorum. bu şekilde sorunun düzeleceğine emin olabilirsiniz.

murat  { 08 Şubat 2012 }
db dosyasını bulamıyorum

Tugba Kaplan  { 09 Ekim 2010 }
kodlar firefox da çalışıyor ancak internet explorer da çalışmıyor. bunu nasıl çözebiliriz?

MRt  { 02 Eylül 2010 }
Türkçe Karakter Problemini Çözemedim ?

ümit   { 06 Aralık 2009 }
ya birisi acilen yardım etmeli.nerdeyse tüm neti gezdim. bu örnek harika ama alt kategoriden sonra bir combo daha ekleyemedim bir türlü yardımcı olabilecek varsa sevinirim

Alperen   { 09 Aralık 2008 }
arkadaşlar sizden bişey rica etsem burada iki tane combo ile yapılmış bunu beşli yani birbirine göre güncellenen 5 tane combo nasıl yaparız yardımcı olursanız sevinirim

Serkan BOZKIR   { 13 Mayıs 2008 }
# If strIslem = "listele" Then
#
# intSeciliKategori = Request.QueryString("Kategori")
# If intSeciliKategori = "" Or IsNumeric(intSeciliKategori) = False Then intSeciliKategori = 0 %>
#
# <select name="diller" id="diller"><%
# If intSeciliKategori = 0 Then
# Response.Write "<option value=""0"">- Kategori Seçiniz -</option>"& vbCrLf
# Else
# kd.Open "SELECT * FROM Diller WHERE Kategori_ID = "& intSeciliKategori &" ORDER BY Dil ASC", adoCon, 1, 3
# If Not kd.Eof Then
# '// Kategorilerin listelendiği seçim kutusu, veritabanındaki bilgilerle dolduruluyor
# Do While Not kd.Eof
# Response.Write "<option value="""& kd("Dil_ID") &""">"& kd("Dil") &"</option>"& vbCrLf
# kd.Movenext
# Loop
# Else
# Response.Write "<option value=""0"">Seçili kategoriye ait dil bulunmuyor.</option>"& vbCrLf
# End If
# kd.Close
# End If %>
# </select><br /><%
# Response.End
# End If

Kısmını aşağıdaki gibi düzeltmenizi öneririm...


# If strIslem = "listele" Then
#
# intSeciliKategori = Request.QueryString("Kategori")
# If intSeciliKategori = "" Or IsNumeric(intSeciliKategori) = False Then intSeciliKategori = 0 %>
#
# <%
# If intSeciliKategori = 0 Then
# Response.Write "<select name=""diller"" id=""diller"">"& vbCrLf
# Response.Write "<option value=""0"">- Kategori Seçiniz -</option>"& vbCrLf
# Response.Write "</select>"
# Else
# kd.Open "SELECT * FROM Diller WHERE Kategori_ID = "& intSeciliKategori &" ORDER BY Dil ASC", adoCon, 1, 3
# If Not kd.Eof Then
# '// Kategorilerin listelendiği seçim kutusu, veritabanındaki bilgilerle dolduruluyor
# Response.Write "<select name=""diller"" id=""diller"">"& vbCrLf
# Do While Not kd.Eof
# Response.Write "<option value="""& kd("Dil_ID") &""">"& kd("Dil") &"</option>"& vbCrLf
# kd.Movenext
# Loop
# Response.Write "</select>"
# Else
# Response.Write "<select name=""diller"" id=""diller"">"& vbCrLf
# Response.Write "<option value=""0"">Seçili kategoriye ait dil bulunmuyor.</option>"& vbCrLf
# Response.Write "</select>"
# End If
# kd.Close
# End If %>
# <br /><%
# Response.End
# End If

Bu şekilde düzenlenince Request.Form metodu ile alt kategori değeri alınabiliyor...

Metin   { 03 Mayıs 2008 }
Ya ben yanlış yapıyorum yada başka hata var sayfada ne yüklüyse aşağıya aynısını kaydediyor

Kod güzel ve kısa eline sağlık ama ben böyle bir sorunla karşılaştım ve çözemiyorum

AYDIN   { 08 Şubat 2008 }
Teşekkürler fakat türkçe karakter problemini çözümedim bu konuda yardımcı olabilirmisiniz ?

Haluk COŞ   { 02 Ocak 2008 }
Murat anlattığın konuda haklısın bu yorumu yazdıktan sonra dediğin olayı farkettim ve düzelttim. kayıt işlemide başarıyla yapılıyor ama verileri tabloya kaydederken yinede altkategori değeri boş gidiyor. anlamadım gitti valla. şu derdime bir derman olsan tam süper olacakk :))

Murat Yavuz   { 02 Ocak 2008 }
Mesajınızdaki hata, formdan veri gelmemesinden değil, yazdığınız alanın tabloda bulunmamasından kaynaklanıyor.

Örnekte, ajax ile oluşan değeri Request.Form("diller") ile alabilrisiniz.

Haluk COŞ   { 01 Ocak 2008 }
dostum harika bir konu hakkında harika bir örnek yazmışsın. ama benim şöyle bir sorunum. var ben bu kodları ürün ekleme sayfasında kullandım üst dropdown u ana kategoriler için ajax ile oluşan dropdown'uda alt kategoriler için kullandım buraya kadar sistem çalışıyor ama bu formu kaydetmek istediğimde ajax ile oluşan dropdown daki veriler sanırım form ile birlikten gitmiyor. Çünkü şöyle bir hata alıyorum.

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/site/admin/urun/urunguncel.asp, line 39

bahsettiği satırdaki değer alt kategori değeridir.

yani bunun için ben ne yapabilirim. ajax ile oluşan dropdowndaki veriyi nasıl form ile gönderebilirim.

Yorum ekleyin

Anasayfa > Asp > Kodlar > Ajax ile Birbirine Göre Otomatik Güncellenen Seçim Kutuları
Kategoriler:


Forum:



Bağlantılar:


En Son Yorumlanan İçerikler:


Murat Yavuz | Site Haritası | Gizlilik Bildirimi | 54.204.130.94 | 0,11 Saniye
© Copyright 2004-2017 MyDesign | Kod Arşivi. Tüm Hakları Saklıdır.
MyDesign | Kod Arşivi, en iyi görünüm için, 1024x768 ve üzeri çözünürlük tavsiye eder.