php onay kutularını her zaman kontrol değerleri göstermeye

3 Cevap php

Ben 0 olmak üzere kontrolsüz değeri ve 1. olmak için kontrol değeri istiyorum tek bir onay var, ama sonrası geçer zaman, her zaman kutusunun işaretli olup olmadığını 1 ya da değil gibi gösterir ..

İşte onay kutusu bulunuyor:

<input name="stock[]" type="checkbox" id="stock[]"> value="1" />

Burada ne olursa olsun teslim olsun veya olmasın .. (birden "stok" onay kutularını vardır dışarı tükürüyor ne ..

[stock] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 1
            [3] => 1
            [4] => 1
            [5] => 1
        )

Ben bu çalışma almak gibi olamaz ..: Herhangi bir fikir S? :)

3 Cevap

Eğer Checkbox HTML> bir ekstra var gibi görünüyor. Değer onay kutularını durumunda kullanılmaz.

 <input name="stock[]" type="checkbox" />

Eğer value="1", formu her zaman ne olursa olsun kontrol olup olmadığı değerini sunacak çünkü. Yani değer özniteliği kaldırmak yardımcı olacaktır.

Ve, kontrol edilecek onay kutusunu önceden checked kullanmak yerine bağlıyoruz. Örnek:

 <input name="stock[]" type="checkbox" checked="checked" />

(Açıkçası, bu gereksiz> işaretini kaldırarak başlamak gerekir.)

Kutularını ve radyo düğmeleri bir değer niteliği olmalıdır. Onlar kontrol ediyorsanız form gönderildiğinde, bu değer gönderilir; onlar kontrol değilseniz, hiçbir değer gönderilir. Böylece, doğrudan "0 denetlenmeyen eğer, 1 kontrol eğer" bir şey yapamaz. Bunun yerine ne yapabilirim onay kutularını kontrol edildi which algılamak için değer niteliğini kullanmaktır.

<input type="checkbox" name="stock[]" value="1" id="stock1" />
<input type="checkbox" name="stock[]" value="2" id="stock2" />
<input type="checkbox" name="stock[]" value="3" id="stock3" />

1. ve 3. kutuları işaretli, ancak kodu stok [] dizisinin değeri baktığınızda 2, sonra değil ise, bunu 1 ve 3 içerdiğini bulmak değil, 2 olacak.

Düzenleme: Ben sadece formu aralarında ayrım için herhangi bir şekilde vermek için başarısız olduğunu bu onay kutularını tüm benziyordu nedeni sunulan değerleri olduğunu doğruladı. Eğer aynı isimde ama aynı değerde değil sadece birden çok onay kutusu varsa, form sonuçları "stok [] = 1, stok [] = 1, stok [] = 1" gibi bir şey olacak. PHP ardından [1] = 1, stok [2] = 1, vb stok olarak yorumlamak, ancak nokta stok [2] aslında dördüncü onay kutusunun olabilir olmasıdır - Form ne php ne anlatmak için herhangi bir yol var nerede her değer geldi.

Yani bottomline, sen onay kutularını bir dizi için aynı adı kullanabilirsiniz, ya OR Eğer aynı değeri kullanabilirsiniz, ancak her ikisi de bir kere: Eğer aynı adı kullanırsanız, değeri kullanmak zorunda kontroller arasında ayırt etmek; Eğer aynı değeri kullanmak istiyorsanız ve tersi, farklı adlar kullanmanız gerekir.

Eğer bir onay kutusu değerini belirtmek yoksa arada, daha sonra tarayıcıların çoğu kendi varsayılan değer tedarik edecek - örneğin, IE ve Firefox (bazı sürümlerinde veya "ON") "on" kullanın. Ama böyle varsayılan bağlı olarak her zaman kötü bir fikirdir.

Ben / bir giriş elemanı isim olmalıdır emin değilim "stok []" - [] ve re-test kurtulmak deneyin.