v2.5.2
Giriş yap

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

kartal
394 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.

tayfunerbilen
1002 gün önce

keydown yerine keyup kullanırsan alabilirsin.