lostyazilim
tr.link

Javascript ile input max değeri atama

7 Mesajlar 1.600 Okunma
acebozum
tr.link

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Merhaba
Öncelikle php bilgim olduğunu fakat javascript bilmediğimi belirteyim.
Bildiğiniz gibi form elemanlarında input değer max="sayı" olarak atadığımda girilen değeri maximum belirlenen sayıdan yukarısı olarak kabul etmiyor.


Bu şekilde iki adet bölüm var biri "input" biri "select" bölümü.
Select bölümünde olanlar veritabanından çekiliyor ve veritabanında "uenfazla" diye bir alan var. Yapmak istediğim;
Select bölümünden seçilene göre "uenfazla" alanındaki sayı değerini input içindeki max değerine atamak. Bunu nasıl yapacağımı bilmiyorum. Yardımcı olursanız memnun olurum. Teşekkürler.
 

 

elektronikssl
webimgo

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)
jQuery ile yapabilirsiniz. Selectte change olduğu zaman jQuery i tetikleyip attr metodu ile inputun max özelliğinde değişiklik yapabilirsiniz. Bunun için Query seçiciler change ve attr metodunu öğrenmeniz gereklidir.
 

 

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
İşte bunu öğrenebilecek bir zamanım yok şu anda maalesef. Hiç huyum değildir fakat bu seferlik yardımcı olup yazmanız mümkün mü acaba?
 

 

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)
Html Kısmının böyle olduğunu farz edelim.


Ürün

Gereken



Burası da js kısmı

/* Selectten seçildiği zaman */
$("#Zorunlu").change(function (){
var Furkan = $(this).val();
$("#Gereken").attr("max",Furkan);
});
/* Selectten seçildiği zaman */

/* Manuel girildiği zaman */
$('body').on('keyup','#Gereken',function(){
var Girilen=$("#Gereken").val();
var Furkan =$("#Zorunlu").val();
Furkan= Furkan*1;
if( Girilen > Furkan) {
$(this).val("");
}
});
/* Manuel girildiği zaman */


Türkçe Meali.

Zorunlu id'ye sahip elementte değişiklik olduğu zaman bu elementin val değerini alıp Furkan adlı değişkene atıyorum ve daha sonra sayıların girildiği Gereken id'li inputun max özelliğini değiştiriyorum.

Bir de keyup kısmında kullanıcı manuel olarakta sayı gireceği için aynı şekilde manuel olarakta max değerini geçmemesi için keyup metodu ile sınırlandırma yapıyoruz.

Gereken id ve isimleri siz kendinize göre değiştirebilirsiniz.

Projenizde başarılar dilerim.
 

 

wmaraci
wmaraci

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Teşekkür ederim FurkanKandemir çok ayrıntılı açıklamışsınız. Fakat ufak bir problem daha var. Ben bu max değerini veritabanından alacağım. Bunu nasıl ekleyebilirim? Ayrıca manuel giriş olmayacak o yüzden manuele gerek yok. Sadece inputun içine max="seçime göre gelen değer" yazsa benim için yeterli olacaktır.

Kısaca ben seçilen alandan verilen ürünün verilebilecek maksimum sayısını veritabanına girdim. Örneğin; birinin siparişi en fazla 5 tane verilecekse yani max="5" ise müşteri sağdaki inputa 10 yazınca uyarı vermesini sağlamak.
 

 

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)
Veritabanından gelecekler zaten oda şu şekilde olacak.






Zaten bu değerler db den gelince js kısmı elinizde var.
Dikkat etmeniz kısım seçici de kullandığınız id ler değişkenleri değiştirmek uygun bir şekilde.
Ayrıca bu döngü de gelen ilk max değerini de inputa yazarsınız olur biter.
Sayfa açılışında da böylelikle max değeri belirlersiniz. Şimdi diyeceksiniz ki ben döngünün içinden ilk değişkeni nasıl alıcam sürekli dönüyor.
O da şu şekilde


$Sayac=1;
$Query="bla bla bla";
while( fetch arrayler falan filan)
$UrunAdi=$Row['UrunAdi'];
$MaxDeger=$Row['MaxD'];

if($Sayac==1) {
$MaxFirst=$Row['MaxD];
}

{

?>

$Sayac++;