Programlama

Web Programlama

Veritabanı

jQuery ile <input> alan değişikliklerinde önceki değerlere erişim

Kullanıcıların <input> alanlarında yapacağı değişikliklerde herhangi bir nedenle önceki mevcut değerini kontrol etme ihtiyacı duyduğunuzda, focus ve blur fonksiyonlarını birlikte kullanabilirsiniz.

Aynı işlem için change fonksiyonunu kullandığınızda önceki değer değiştirilmiş olduğundan erişim sağlanamaz. Sadece ön tanımlı değer varsa, bu değer kullanılabilir.

Aşağıdaki örnekte, sayi1 input alanında, kullanıcı herhangi bir değer girmediğinde; uyarı yazısı ekrana gelir ve alanda yer alan bir önceki değer alana yazılır. sayi2 input alanında ise; kullanıcı herhangi bir değer girmediğinde; uyarı yazısı ekrana gelir ve alan için ön tanımlı olan 21 değeri ekrana yazılır.

<html>
<head>

<script type="text/javascript">
    $(document).ready(function() { 			
      $('#sayi1').on("focus", function() {
         $(this).data("previous-value", $(this).val());
      }); 

      $('#sayi1').on("blur", function() {
         if ($(this).val() == '') {
             alert('Bir değer girmelisiniz');
             $(this).val($(this).data("previous-value"));
         }
      }); 	
	  
      $('#sayi2').on("change", function() {
         if ($(this).val() == '') {
             alert('Bir değer girmelisiniz');
             $(this).val($(this).prop("defaultValue"));
         }
      }); 	

	  
    });
</script>

</head>

<body>

<input id='sayi1' name='sayi1' type='text' value='' size='3' maxlength='3'>
<input id='sayi2' name='sayi2' type='text' value='21' size='3' maxlength='3'>

</body>
</html>