Veritabani Kullanmadan Javascript Ile Anket Yanitlarini Yerel Depolama
Veritabani Kullanmadan Javascript Ile Anket Yanitlarini Yerel Depolama

Veritabanı kullanmadan JavaScript ile anket yanıtlarını yerel depolamada nasıl saklarsınız?


Günümüz web dünyasında, kullanıcı etkileşimini artırmak ve anında geri bildirim almak için anketler vazgeçilmez araçlardır. Ancak küçük ölçekli projelerde veya Basit Anket Oluşturucu JS İle geliştirilen uygulamalarda, her anket yanıtı için bir sunucu ve veritabanı altyapısı kurmak hem zaman alıcı hem de maliyetli olabilir. İşte tam bu noktada, JavaScript'in gücü ve tarayıcının sunduğu yerel depolama mekanizmaları devreye girer. Bu makalede, herhangi bir sunucu veya veritabanı kullanmadan, tamamen istemci tarafında anket yanıtlarını nasıl güvenli ve etkin bir şekilde saklayabileceğinizi ayrıntılı olarak inceleyeceğiz.

Neden Veritabanı Olmadan Depolama İhtiyacı Duyarız?


Geleneksel olarak, bir anket uygulamasında kullanıcı yanıtları bir sunucuya gönderilir ve orada bir veritabanında saklanır. Ancak bu yaklaşım her zaman gerekli veya en verimli çözüm değildir. İşte veritabanı olmadan depolama ihtiyacını doğuran bazı senaryolar:
* Maliyet Etkinliği: Küçük kişisel projeler, portföy siteleri veya deneysel çalışmalar için sunucu ve veritabanı hosting ücretleri ek maliyet getirebilir. Yerel depolama ile bu maliyetler ortadan kalkar.
* Geliştirme Hızı: Bir backend sistemi kurmak, API endpoint'leri yazmak ve veritabanı şeması tasarlamak zaman alıcıdır. Sadece frontend teknolojileriyle çalışmak, özellikle hızlı prototipleme veya tek sayfa uygulamaları (SPA) için geliştirme sürecini önemli ölçüde hızlandırır.
* Çevrimdışı Yetenekler (Kısmen): Bazı durumlarda, kullanıcıların internet bağlantısı kesildiğinde bile anketleri doldurmaya devam edebilmesi ve yanıtların bağlantı geldiğinde otomatik olarak senkronize edilmesi istenebilir. Yerel depolama bu tür senaryolar için bir temel oluşturabilir, ancak tam bir çevrimdışı senkronizasyon mekanizması daha karmaşık çözümler gerektirir.
* Gizlilik ve Basitlik: Bazı anketler, anonim veya geçici verileri toplamak için tasarlanmıştır ve bu verilerin merkezi bir sunucuda kalıcı olarak saklanması gereksinimi olmayabilir. Örneğin, bir kullanıcının kendi cihazında kendi ilerlemesini takip ettiği bir kendini değerlendirme anketi.
* Kullanıcı Deneyimi İyileştirmesi: Kullanıcının daha önce verdiği yanıtları hatırlamak veya bir anketin belirli bir adımında kaldığı yerden devam etmesini sağlamak, kullanıcı deneyimini büyük ölçüde artırır. Yerel depolama, bu bilgileri istemci tarafında tutarak kolayca erişilebilir kılar.
Bu nedenlerden ötürü, özellikle basit ve sınırlı kapsamlı anket uygulamalarında, anket yanıtlarını doğrudan tarayıcının yerel depolama mekanizmalarında saklamak oldukça pratik bir çözümdür.

JavaScript ve Yerel Depolama Mekanizmaları


JavaScript, web tarayıcılarında çalışan bir programlama dilidir ve web sayfalarına dinamik işlevsellik kazandırır. Tarayıcılar, JavaScript'in erişebileceği, istemci tarafında veri saklamak için çeşitli yerel depolama mekanizmaları sunar. Bunların en yaygın ve kullanışlı olanları `localStorage` ve `sessionStorage`'dır.

localStorage: Kalıcı Veri Saklama


`localStorage`, tarayıcının sunduğu bir anahtar-değer çifti depolama alanıdır. En önemli özelliği, verilerin kalıcı olmasıdır; yani kullanıcı tarayıcıyı kapatsa, bilgisayarını yeniden başlatsa veya sayfayı yenilese bile bu veriler korunur. Veriler, kullanıcı açıkça temizlemediği sürece tarayıcının depolama alanında kalır.
* Nasıl Çalışır? `localStorage` bir JavaScript nesnesi gibi davranır. Verileri eklemek için `setItem(anahtar, değer)`, almak için `getItem(anahtar)` ve silmek için `removeItem(anahtar)` metodları kullanılır. Tüm verileri temizlemek için `clear()` metodu mevcuttur.
* Kullanım Alanları: Kullanıcı tercihleri (tema ayarları, dil seçimi), kullanıcı oturum bilgileri (güvenlik hassasiyeti düşük olanlar), sepet içeriği (e-ticarette) ve tabii ki bizim konumuz olan anket yanıtlarını saklamak için idealdir.
* Sınırlamalar:
* Veri Tipi: `localStorage` sadece string (metin) verileri saklayabilir. Bu nedenle, JavaScript nesneleri veya dizileri gibi karmaşık veri yapılarını saklamadan önce `JSON.stringify()` metodu ile JSON formatında bir metin dizesine dönüştürmek gerekir. Geri çağrıldığında ise `JSON.parse()` ile tekrar JavaScript nesnesine çevrilir.
* Depolama Alanı: Her alan adı (domain) için genellikle 5-10 MB arasında bir depolama limiti bulunur. Bu, çoğu anket verisi için yeterli olsa da çok büyük veri kümeleri için uygun değildir.
* Güvenlik: `localStorage` verileri, kullanıcının bilgisayarında şifresiz olarak saklanır. Bu nedenle, hassas kişisel bilgiler, kredi kartı numaraları gibi kritik verileri `localStorage`'da saklamaktan kaçınmak gerekir. XSS saldırılarına karşı savunmasız olabilir.

sessionStorage: Oturum Bazlı Veri Saklama


`sessionStorage` da `localStorage` gibi anahtar-değer çifti şeklinde çalışır ve aynı API'leri ( `setItem`, `getItem`, `removeItem`, `clear`) kullanır. Ancak, `sessionStorage` verileri sadece mevcut tarayıcı oturumu boyunca kalır. Kullanıcı sekmeyi veya tarayıcıyı kapattığında, bu veriler otomatik olarak silinir. Her yeni sekme veya pencere için bağımsız bir `sessionStorage` örneği oluşturulur.
* Kullanım Alanları: Çok adımlı formlar, geçici kullanıcı tercihleri, kullanıcı arama geçmişi gibi oturum boyunca korunması gereken ama kalıcı olması gerekmeyen veriler için uygundur. Anketlerde, kullanıcının bir anketin farklı adımları arasında geçiş yaparken yanıtlarını kaybetmemesi için kullanılabilir.
* localStorage ile Karşılaştırma: Temel fark, verilerin ömrüdür. `localStorage` kalıcıyken, `sessionStorage` oturum bazlıdır. Anket yanıtlarını kalıcı olarak saklamak istiyorsak `localStorage` tercih edilmelidir; yalnızca geçici bir oturum için saklamak istiyorsak `sessionStorage` daha uygun olacaktır.

Anket Yanıtlarını Yerel Depolamada Saklama Stratejileri


Bir Basit Anket Oluşturucu JS İle oluşturulan anketin yanıtlarını yerel depolamada saklamak için belirli bir strateji izlemek gereklidir.

Yanıtların Toplanması


Öncelikle, kullanıcı anket sorularını yanıtladığında bu yanıtları yakalamamız gerekir. Bu genellikle HTML form elemanlarına (input, select, textarea) `change` veya `input` event listener'lar ekleyerek ya da form gönderildiğinde (`submit` event) tüm form verilerini toplayarak yapılır. Yanıtlar, her bir soruya karşılık gelen bir anahtar ve kullanıcının seçtiği değeri içeren bir JavaScript nesnesi (örneğin `{ soru1: "yanıtA", soru2: "yanıtB" }`) şeklinde toplanmalıdır.

Verilerin JSON Formatında Saklanması


Yukarıda belirtildiği gibi, localStorage ve sessionStorage sadece string verileri kabul eder. Dolayısıyla, topladığımız JavaScript nesnesini bir string'e dönüştürmemiz gerekir. Bunun için `JSON.stringify()` metodu kullanılır. JSON (JavaScript Object Notation), web geliştirme dünyasında veri alışverişi için standart bir formattır ve karmaşık veri yapılarını kolayca string'e çevirmemizi sağlar.
Örneğin:
```javascript
const anketYanitlari = {
isim: "Ali",
yas: 30,
favoriRenk: "mavi",
cevaplar: {
soru1: "seçenek A",
soru2: "metin cevabı"
}
};
const jsonYanit = JSON.stringify(anketYanitlari);
// jsonYanit şimdi "{\"isim\":\"Ali\",...}" gibi bir string olacak.
```

localStorage'a Yazma ve Okuma İşlemleri


`JSON.stringify()` ile elde ettiğimiz string veriyi `localStorage`'a kaydetmek için `localStorage.setItem()` metodunu kullanırız. Bu metoda iki argüman verilir: depolanacak veriye atayacağımız bir anahtar (örneğin "anketYanitlari") ve depolanacak string değer.
```javascript
localStorage.setItem('anketYanitlari', jsonYanit);
```
Daha sonra bu verileri geri almak istediğimizde ise `localStorage.getItem()` metodunu kullanırız, depolarken kullandığımız anahtarı argüman olarak veririz:
```javascript
const saklananVeri = localStorage.getItem('anketYanitlari');
```
`saklananVeri` artık bir JSON string'idir. Bu string'i tekrar kullanılabilir bir JavaScript nesnesine çevirmek için `JSON.parse()` metodunu kullanırız:
```javascript
const geriYuklenenAnketYanitlari = JSON.parse(saklananVeri);
// geriYuklenenAnketYanitlari şimdi orijinal JavaScript nesnesi olacaktır.
```
Bu adımlar, bir kullanıcının anket yanıtlarını cihazında kalıcı olarak saklamak için temel döngüyü oluşturur. Daha fazla bilgi ve örnek uygulamalar için `/makale.php?sayfa=javascript-json-kullanimi` sayfamızı ziyaret edebilirsiniz.

Mevcut Yanıtların Güncellenmesi veya Eklenmesi


Kullanıcı anket üzerinde değişiklik yapabilir veya anket çok adımlıysa, her adımda mevcut yanıtları güncellememiz gerekebilir. Bu durumda, önce mevcut veriyi `localStorage`'dan `getItem()` ile almalı, `JSON.parse()` ile nesneye dönüştürmeli, gerekli güncellemeleri yapmalı, ardından tekrar `JSON.stringify()` ile string'e çevirip `setItem()` ile kaydetmeliyiz.
Eğer birden fazla anket yanıtını saklamak istiyorsak (örneğin, kullanıcı farklı zamanlarda aynı anketi birden çok kez doldurabilir), yanıtları bir dizi içinde tutabiliriz. Her yeni yanıtı bu diziye ekleyip, diziyi tekrar JSON string'ine çevirerek `localStorage`'a kaydedebiliriz.
```javascript
// Mevcut yanıtları al
let tumAnketYanitlari = JSON.parse(localStorage.getItem('tumAnketYanitlari')) || [];
// Yeni bir yanıt ekle
tumAnketYanitlari.push(yeniAnketYaniti); // yeniAnketYaniti daha önce toplanmış bir JS nesnesi
// Güncellenmiş listeyi tekrar kaydet
localStorage.setItem('tumAnketYanitlari', JSON.stringify(tumAnketYanitlari));
```
Bu yapı, kullanıcıların anket ilerlemesini kaydetmek veya kısmen doldurulmuş formları hatırlamak için de mükemmel bir yöntemdir ve kullanıcı deneyimini büyük ölçüde geliştirir.

Güvenlik ve Performans Hususları


Yerel depolama kullanmak birçok avantaj sunsa da, dikkate alınması gereken bazı güvenlik ve performans hususları da vardır.

Güvenlik Riskleri ve Önlemler


* Hassas Veriler: `localStorage` ve `sessionStorage` verileri istemci tarafında, yani kullanıcının cihazında saklanır ve kolayca erişilebilir, hatta tarayıcının geliştirici araçları kullanılarak değiştirilebilir. Bu nedenle, kullanıcı adları, şifreler, finansal bilgiler veya diğer kritik kişisel veriler gibi hassas bilgileri asla yerel depolamada saklamamalısınız. Bu tür veriler her zaman şifrelenmiş bir şekilde sunucu tarafında güvenli veritabanlarında tutulmalıdır.
* XSS (Cross-Site Scripting) Saldırıları: Eğer uygulamanız XSS saldırılarına karşı savunmasızsa, kötü niyetli bir saldırgan `localStorage`'daki verilere erişebilir ve bunları manipüle edebilir. Bu, sadece anket yanıtlarınızın değil, genel olarak uygulamanızın güvenliği için önemli bir risktir. Güvenli kodlama pratikleri ve girdi doğrulaması bu tür saldırıları önlemeye yardımcı olur.

Performans ve Depolama Sınırları


* Depolama Limitleri: Tarayıcılar her alan adı için belirli bir `localStorage` ve `sessionStorage` limiti uygular (genellikle 5-10 MB). Çoğu anket verisi için bu yeterli olsa da, çok sayıda ve çok detaylı anket yanıtını saklamayı planlıyorsanız bu limitleri aşabilirsiniz. Limit aşımı, veri kaydetme hatalarına yol açar.
* Performans Etkisi: `localStorage`'a büyük miktarda veri yazmak veya okumak, ana iş parçacığını (main thread) bloke ederek sayfa performansını etkileyebilir ve kullanıcı deneyiminde yavaşlamalara neden olabilir. Bu nedenle, depolanan verilerin boyutunu minimumda tutmaya özen gösterilmelidir. Eski veya gereksiz verileri düzenli olarak temizlemek iyi bir uygulamadır.
* Veri Temizliği: Kullanıcı cihazında zamanla biriken anket yanıtlarını veya diğer verileri periyodik olarak temizleme veya kullanıcıya silme seçeneği sunma konusunda bir stratejiniz olmalıdır. Aksi takdirde, depolama alanı gereksiz verilerle dolabilir. Zaman damgaları ekleyerek belirli bir süre sonra eski yanıtları otomatik olarak silmek mantıklı olabilir. Bu konuda, `/makale.php?sayfa=web-depolama-en-iyi-pratikler` makalemiz size yol gösterebilir.

Kullanıcı Deneyimi ve Esneklik


Yerel depolama, Basit Anket Oluşturucu JS İle yapılan uygulamalarda kullanıcı deneyimini birçok yönden zenginleştirebilir.
* Kesintisiz Anket Akışı: Kullanıcılar bir anketi doldururken, tarayıcılarını kapatsalar veya sayfayı yenileseler bile kaldıkları yerden devam edebilirler. Bu, özellikle uzun veya çok adımlı anketlerde kullanıcıların motivasyonunu artırır.
* Kişiselleştirilmiş Geri Bildirim: Bir anket tamamlandıktan sonra, kullanıcının kendi yanıtlarına dayanarak anında kişiselleştirilmiş bir özet veya değerlendirme sunmak mümkündür. Bu veriler sunucuya gönderilmeden doğrudan istemci tarafında işlenebilir.
* Çevrimdışı Modda Çalışma: İnternet bağlantısının kısıtlı olduğu durumlarda, anketin kendisi ve kullanıcı yanıtları yerel olarak saklandığı için kullanıcı anketle etkileşime devam edebilir. Bağlantı geri geldiğinde, veriler isteğe bağlı olarak bir sunucuya gönderilebilir (eğer bir backend senkronizasyon mekanizması daha sonra eklenirse).
Yerel depolama çözümü, özellikle başlangıç aşamasındaki veya sınırlı kaynaklara sahip projeler için büyük bir esneklik sunar. Ancak uygulamanız büyüdükçe, daha fazla veri, daha fazla güvenlik veya merkezi bir raporlama ve analiz ihtiyacı doğduğunda, sunucu ve veritabanı tabanlı bir çözüme geçiş yapmayı düşünmek gerekebilir.

Sonuç: Ne Zaman Yerel Depolama Yeterlidir?


Veritabanı kullanmadan JavaScript ile anket yanıtlarını yerel depolamada saklama stratejisi, birçok senaryo için oldukça yeterli ve verimli bir çözümdür. Özellikle aşağıdaki durumlarda bu yaklaşım idealdir:
* Küçük ve Basit Anketler: Kullanıcı başına az miktarda veri toplayan, kısa süreli veya kişisel anketler.
* Prototipleme ve Hızlı Geliştirme: Bir fikir doğrulaması yapmak veya hızlıca bir ürünün ön sürümünü çıkarmak istediğinizde.
* Öncelikle İstemci Tarafına Odaklanan Uygulamalar: Tek sayfa uygulamaları veya statik web siteleri gibi, sunucu etkileşimini minimumda tutmayı hedefleyen projeler.
* Geçici veya Kullanıcıya Özel Veriler: Kullanıcının kendi cihazında kalmasını istediği, başkalarıyla paylaşılması gerekmeyen veriler.
* Düşük Bütçeli Projeler: Sunucu ve veritabanı maliyetlerinden kaçınmak istendiğinde.
JavaScript ve tarayıcının yerel depolama API'ları, doğru kullanıldığında geliştiricilere şaşırtıcı derecede güçlü araçlar sunar. Bu araçlarla, karmaşık sunucu altyapılarına ihtiyaç duymadan etkileşimli ve dinamik web uygulamaları oluşturmak mümkündür. Elbette, her araç gibi yerel depolamanın da sınırları ve güvenlik açıkları vardır. Bu nedenle, projenizin gereksinimlerini dikkatlice değerlendirerek, ne zaman yerel depolama kullanacağınızı ve ne zaman daha sağlam bir sunucu tabanlı çözüme geçmeniz gerektiğini belirlemek önemlidir. Ancak küçük ve orta ölçekli Basit Anket Oluşturucu JS İle projelerinizde, localStorage ve sessionStorage size harika bir başlangıç noktası sunacaktır.

Serkan Çelik

Yazar: Serkan Çelik

Ben Serkan Çelik, bir Dijital Pazarlama Uzmanı. Platformumuzda teknolojiyi herkes için anlaşılır kılmak, karmaşık konuları basitleştirerek okuyucularımızın günlük yaşamında pratik olarak kullanabileceği bilgiler sunmak, yeni beceriler kazandırmak, farkındalık oluşturmak ve teknoloji dünyasındaki gelişmeleri anlaşılır bir dille aktarmak amacıyla yazıyorum.

Diğer Makaleler

Hazir Anket Araclari Yerine Kendi Tasariminiza Tam Uyumlu Javascript AHazir Anket Araclari Yerine Kendi Tasariminiza Tam Uyumlu Javascript AWeb Sitenize Backend Bilgisi Olmadan Sadece Javascript Ile Hizli AnketWeb Sitenize Backend Bilgisi Olmadan Sadece Javascript Ile Hizli AnketHtml Sitenize Saniyeler Icinde Eklenebilen Tamamen Frontend JavascriptHtml Sitenize Saniyeler Icinde Eklenebilen Tamamen Frontend JavascriptJavascript Ile Olusturulan Anket Sonuclarini Aninda Ekranda Gosterme YJavascript Ile Olusturulan Anket Sonuclarini Aninda Ekranda Gosterme YWeb Siteme Pop Up Seklinde Basit Bir Js Anketinin Sorunsuz EntegrasyonWeb Siteme Pop Up Seklinde Basit Bir Js Anketinin Sorunsuz EntegrasyonSifirdan Bir Javascript Anket Formu Yaparak Veri Dogrulamasini Nasil SSifirdan Bir Javascript Anket Formu Yaparak Veri Dogrulamasini Nasil SGelistirici Olmayanlar Icin Adim Adim Javascript Anket Olusturma RehbeGelistirici Olmayanlar Icin Adim Adim Javascript Anket Olusturma RehbeMusteri Memnuniyeti Anketi Icin Sadece Javascript Ile Calisan Kod OrneMusteri Memnuniyeti Anketi Icin Sadece Javascript Ile Calisan Kod OrneStatik Web Sayfalari Icin Hafif Ve Hizli Calisan Js Anket Cozumu AriyoStatik Web Sayfalari Icin Hafif Ve Hizli Calisan Js Anket Cozumu AriyoVanilla Javascript Kullanarak Etkilesimli Ve Coktan Secmeli Bir Anket Vanilla Javascript Kullanarak Etkilesimli Ve Coktan Secmeli Bir Anket Kullanici Verilerini Veritabani Olmadan Depolayan Basit Js Anketini NaKullanici Verilerini Veritabani Olmadan Depolayan Basit Js Anketini NaJavascript Ile Kullanici Geri Bildirimlerini Aninda Toplayan Form NasiJavascript Ile Kullanici Geri Bildirimlerini Aninda Toplayan Form NasiHtml Siteme Sunucuya Ihtiyac Duymadan Nasil Basit Bir Anket EkleyebiliHtml Siteme Sunucuya Ihtiyac Duymadan Nasil Basit Bir Anket EkleyebiliAdim Adim Basit Javascript Anket Projesi Birden Fazla Soruyu Tek Bir AAdim Adim Basit Javascript Anket Projesi Birden Fazla Soruyu Tek Bir AJavascript Ile Olusturdugum Basit Anketi Mobil Cihazlarda Nasil ResponJavascript Ile Olusturdugum Basit Anketi Mobil Cihazlarda Nasil ResponSunucuya Gerek Duymadan Basit Javascript Anket Sonuclarini Aninda EkraSunucuya Gerek Duymadan Basit Javascript Anket Sonuclarini Aninda EkraBasit Javascript Anketini Tamamladiktan Sonra Kullaniciya Ozel TesekkuBasit Javascript Anketini Tamamladiktan Sonra Kullaniciya Ozel TesekkuMevcut Html Sayfasina Basit Javascript Anketini Kopyala Yapistir Ile NMevcut Html Sayfasina Basit Javascript Anketini Kopyala Yapistir Ile NJavascript Kullanarak Coktan Secmeli Ve Tek Secimli Basit Anket SorulaJavascript Kullanarak Coktan Secmeli Ve Tek Secimli Basit Anket SorulaKullanici Bos Birakirsa Basit Javascript Anketini Gondermesini EngelleKullanici Bos Birakirsa Basit Javascript Anketini Gondermesini EngelleBasit Bir Javascript Anketinden Kullanici Cevaplarini Sayfa YenilemedeBasit Bir Javascript Anketinden Kullanici Cevaplarini Sayfa YenilemedeWeb Sitenize Hizlica Entegre Edebileceginiz Basit Javascript Anket KodWeb Sitenize Hizlica Entegre Edebileceginiz Basit Javascript Anket KodSifirdan Baslayanlar Icin Vanilla Javascript Ile Basit Anket Formu NasSifirdan Baslayanlar Icin Vanilla Javascript Ile Basit Anket Formu NasKullanici Dostu Ve Hizli Yuklenen Bir Js Anketi Icin Performans OptimiKullanici Dostu Ve Hizli Yuklenen Bir Js Anketi Icin Performans OptimiAnket Sonuclarini Sayfayi Yenilemeden Aninda Gostermek Icin JavascriptAnket Sonuclarini Sayfayi Yenilemeden Aninda Gostermek Icin JavascriptTek Sayfalik Bir Web Uygulamasina Javascript Ile Basit Bir Anket BilesTek Sayfalik Bir Web Uygulamasina Javascript Ile Basit Bir Anket BilesMobil Uyumlu Ve Hafif Javascript Anketi Icin Minimal Kod GereksinimlerMobil Uyumlu Ve Hafif Javascript Anketi Icin Minimal Kod GereksinimlerSifirdan Baslayarak Javascript Ile Css Stilli Basit Anket Formu YapimiSifirdan Baslayarak Javascript Ile Css Stilli Basit Anket Formu YapimiZiyaretcilerden Aninda Veri Toplamak Icin Dinamik Anket Elemanlarini JZiyaretcilerden Aninda Veri Toplamak Icin Dinamik Anket Elemanlarini JUcuncu Parti Araca Gerek Duymadan Javascript Ile Sadece Evethayir TipiUcuncu Parti Araca Gerek Duymadan Javascript Ile Sadece Evethayir TipiHtml Ve Saf Javascript Ile Coktan Secmeli Basit Anket Kodu Yazimi IcinHtml Ve Saf Javascript Ile Coktan Secmeli Basit Anket Kodu Yazimi IcinBackend Olmadan Sadece Javascript Kullanarak Hizli Bir Geri Bildirim FBackend Olmadan Sadece Javascript Kullanarak Hizli Bir Geri Bildirim FKendi Web Sitenize Javascript Ile Basit Anket Eklemenin En Hizli Yolu Kendi Web Sitenize Javascript Ile Basit Anket Eklemenin En Hizli Yolu Basit Javascript Anketinizin Gorsel Tasarimini Css Ile KisisellestirmeBasit Javascript Anketinizin Gorsel Tasarimini Css Ile KisisellestirmeJavascript Anket Gonderimi Sonrasi Basari Mesaji Veya Yonlendirme NasiJavascript Anket Gonderimi Sonrasi Basari Mesaji Veya Yonlendirme NasiMevcut Web Sitenize Kolayca Entegre Edilebilen Minimalist Javascript AMevcut Web Sitenize Kolayca Entegre Edilebilen Minimalist Javascript AMobil Uyumlu Ve Duyarli Bir Javascript Anket Bileseni Nasil KodlanirMobil Uyumlu Ve Duyarli Bir Javascript Anket Bileseni Nasil KodlanirKullanicilarin Tum Alanlari Doldurmasini Saglayan Javascript Anket DogKullanicilarin Tum Alanlari Doldurmasini Saglayan Javascript Anket DogHarici Kutuphane Bagimliligi Olmadan Saf Javascript Ile Hafif Anket TaHarici Kutuphane Bagimliligi Olmadan Saf Javascript Ile Hafif Anket TaBasit Bir Javascript Anketi Icin Katilimcilara Aninda Sonuc Grafigi GoBasit Bir Javascript Anketi Icin Katilimcilara Aninda Sonuc Grafigi Go