İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

Jquery karakterden sonra boşluk bırakma

okantastan15.08.201313 cevap4.608 görüntüleme
2013'den beri31 mesaj
#1
Merhaba arkadaşlar iyi forumlar hayırlı günler
Jquery ile bir keyup kontrolü yapıyorum,text kutusuna "%" işareti yazıldığı zaman otomatik olarak bir boşluk bırakmasını istiyorum ama bir türlü olmuyor.ardımcı olur musunuz?
Kodlarım aşağıdaki şekilde

$(document).ready(function(){
 	$("#metin").live("keyup", function() {
		var metin = $("#metin").val();
		if (metin.indexOf('%') >=0){
			var metin = $("#metin").val().replace("%", "% ").toLowerCase();
			$("#metin").val(metin);
		}else{}
 });	
});

Her tuşa basıldığında boşluk bırakıyor.
Cevaplar
2010'den beri120 mesaj
#2

$("#metin").live("keyup", function () {
    var metin = $("#metin").val();
    if (metin.indexOf('%') >= 0) {
        var metin = $("#metin").val().replace("%", " ").toLowerCase();
        $("#metin").val(metin);
    }
});
okantastan Konuyu açan
2013'den beri31 mesaj
#3
Denedim hocam tuşa her basıldığında "%" den sonra boşluk bırakıyor.
okantastan Konuyu açan
2013'den beri31 mesaj
#5
Tuşa her basıldığında boşluk bırakıyor ben sadece "%" işaretinden sonra bir boşluk bırakmak istiyorum.
okantastan Konuyu açan
2013'den beri31 mesaj
#7
Peki nasıl ayarlamam lazım çözemedim de :)
2010'den beri120 mesaj
#8
Son halinde A-Z, a-z ve 0-9 karakterlerinden sonra % varsa boşluk veriyor.Şöyle değiştirilebilir kullanımınıza göre.

% sonra boşluk yoksa.. fakat tam olarak kodunu bilmiyorum Regex bilenler bakarsa..
2010'den beri114 mesaj
#9
Regex'e gerek yok sadece javascriptin replace fonksiyonu biraz sıkıntılı sadece ilk gördüğü işlemi alıp bitiriyor fonksiyonu onun için replaceAll fonksiyonu araştırıp buldum internetten düzelttim kodu tam istediğin gibi olmuştur heralde.

http://jsfiddle.net/YfDUp/1/

olmamış ise söyle düzelteyim.
okantastan Konuyu açan
2013'den beri31 mesaj
#10
Hocam teşekkür ederim ama aynı sorun devam ediyor her tuşa basıldığında "%" den sonra boşluk bırakıyor
2009'den beri523 mesaj
#11
Böyle bir şey sana fikir verebilir diye düşünüyorum.
$(document).keypress(function (event) {
	var [COLOR=#333333]metin[/COLOR]= String.fromCharCode(event.which);
	
        if ([COLOR=#333333]metin [/COLOR]== "%") {


        	//replace ve diğer işlemler...
        }
});


okantastan Konuyu açan
2013'den beri31 mesaj
#12
aslanpayı hocam replace ve diğer işlemler yazmışsınız benim öğrenmek istediğimde tam o kısım.sadece gelen harfi veya karakteri çevirmesi. vevirmesini istediğim karakter % işareti gelince sadece son gelen değerin sonuna 1 tane boşluk koyması.replace işlemini denedim fakat inputtaki tüm % işaretlerinin sonuna sürekli boşluk atıyor
2009'den beri523 mesaj
#13

var metin = $("#metin").val().replace("%", "% ").toLowerCase();


Böyle yaparak metnin içindeki tüm % işaretlerini değiştirirsin. Replace metodunun amacı budur zaten.


var pos = x.lastIndexOf('%');
   var metin x.substring(0, pos) + ' ' + x.substring(pos + 1);


Sanırım böyle bir kod işine yarayacaktır. Başka yöntemler de vardır tabi .slice() metodunu kullanmak gibi... Sana en uygun yöntemi bunları araştırarak bulabilirsin.
okantastan Konuyu açan
2013'den beri31 mesaj
#14
Aslanpayı ben farklı bir yolla çözdüm aslında basitmiş teşekkür ederim hepinize...

$(document).ready(function(){
   $('#metin').keypress(function (event) {
	var Karakter = String.fromCharCode(event.which);
	if (Karakter == "%"){
        $("#metin").val($("#metin").val()+"% ");
        return false;
        }
    });
});

return false olması gerekiyor yoksa 2 kere döndürüyor.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.