v2.5.2
Giriş yap

js keydown ilk basılan 0 a eşitmi sorunu

kartal
453 defa görüntülendi
<input type="phone" name="telefon" id="telefon" data-name="Telefon" class="adres_inputs">
const phoneInput = document.getElementById("telefon");

phoneInput.addEventListener("keydown", phoneControl);

function phoneControl(e){

//console.log(e.key);
if( (e.key  >= '0' && e.key  <= '9') ||
		['+','(',')','-','ArrowLeft','ArrowRight','Delete','Backspace'].includes(e.key) ){
							

	    if( (e.key  >= '0' && e.key  <= '9') || ['Delete','Backspace'].includes(e.key) && (e.target.value.length != 0)){
										
			splitPhone = e.target.value.split("");
			console.log(splitPhone[0]);
			//BURADA İLK DEĞERİ ALMAM GEREK ONA GÖRE İNPUT UZUNLUĞUNU KONTROL EDECEĞİM
					
			
			if(splitPhone[0]  == '0'){
											
				if(e.target.value.length == 11){
					e.preventDefault();
				}
			}else{
				if(e.target.value.length == 10){
					e.preventDefault();
				}
			}
			
									
									
									
									
								
								
		}
							
}else{
							
    showError(phoneInput, `lütfen sadece rakam girin.`);
    e.preventDefault();
}


						

Sorun şu ki keydown olayında input taki son basılanı alamıyorum
consoldan baktığımda klavyede ikinci tuş basılışında alıyorum ama oda value değerinin ilkki olmuyor.

Cevap yaz
Cevaplar (1)
tayfunerbilen
1202 gün önce

keydown yerine keyup kullanırsan alabilirsin.