v2.5.2
Giriş yap

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

kartal
391 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
991 gün önce

keydown yerine keyup kullanırsan alabilirsin.