問題描述
我有這個表格
<tr>
<td>
<input type="hidden" name="po[]" value="<?php echo $ord['id'] ?>" />
<input type="hidden" name="acts[]" value="1" />
<input id="acts" value='2' type="checkbox" <?php echo $check ?> name="acts[]" />
</td>
<td><img src="<?php echo $pnme['icon'] ?>" style="height: 25px; width: 25px; vertical-align: middle;" /><?php echo $pnme['name'] ?></td>
<td><input id="per" style="background: #BDBDBD; width: 100px;" name="per[]" size="5" type="text" class="small" value="<?php echo $ord['fee'] ?>" /></td>
<td><input id="dol" style="background: #BDBDBD; width: 100px;" name="dol[]" size="5" type="text" class="small" value="<?php echo $ord['cost'] ?>" /></td>
</tr>
如果未選中復選框,我試圖讓它傳遞不同的值,我有一個 hidden
輸入,但它沒有在我需要的地方正確傳遞值,當表單帖子這就是我處理信息的方式
I am trying to get it to pass a different value if the checkbox is not checked, I have a hidden
input but it does not pass the values correctly where I need it to, when the form posts this is how I handle the information
$po = implode(",", $_POST['po']);
$po = explode(",", $po);
$fee = implode(",", $_POST['per']);
$fee = explode(",", $fee);
$co = implode(",", $_POST['dol']);
$co = explode(",", $co);
$act = implode(",", $_POST['acts']);
$act = explode(",", $act);
print_r($act);
for ($i = 0; ; $i++) {
if ($i > count($po) - 1) {
break;
}
例如,如果我檢查每個框,它會像這樣設(shè)置數(shù)組
for example if I check every box it sets the array like this
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [8] => 1 [9] => 2 [10] => 1 [11] => 2 [12] => 1 [13] => 2 [14] => 1 [15] => 2 [16] => 1 [17] => 2 [18] => 1 [19] => 2 [20] => 1 [21] => 2 )
即使任何一個都應該有 2 的值
even though ever single one should have the value of 2
我添加了這個試圖將初始值設(shè)置為 1 認為如果選中該框它將覆蓋該值,但情況似乎并非如此
I added this trying to set the initial value to 1 thinking that if the box is checked it would overwrite the value, but this doesn't seem to be the case
我不確定如何處理這種情況并使其與我的處理代碼一起工作.
I am not sure how to handle this situation and make it work with my processing code.
推薦答案
[]
數(shù)組約定動態(tài)創(chuàng)建下一個索引,所以如果你有:
The []
array convention dynamically creates the next index, so if you have:
name="acts[]"
name="acts[]"
然后你得到:
acts[0]
acts[1]
需要保存checked和unchecked值的同名隱藏和checkbox輸入需要有相同的索引,所以指定如下:
The hidden and checkbox inputs with the same name that need to hold the checked and unchecked value need to have the same index, so specify like:
<input type="hidden" name="acts[0]" value="1" />
<input type="checkbox" name="acts[0]" value="2" />
<!-- more checkboxes -->
<input type="hidden" name="acts[10]" value="1" />
<input type="checkbox" name="acts[10]" value="2" />
這將為您提供一個 $_POST['acts']
數(shù)組,其中包含 11 個項目,索引 0-10,值為 1
或 2代碼>取決于它是否被檢查.
This will give you a $_POST['acts']
array with 11 items, index 0-10 with the value either 1
or 2
depending on whether it was checked or not.
另外,我不知道你在用 implode()
和 explode()
做什么.如果您只是想重新索引數(shù)字鍵,請使用 array_values($_POST['acts'])
.
Also, I have no idea what you are doing with the implode()
and explode()
. If you are just trying to reindex the numeric keys then use array_values($_POST['acts'])
.
這篇關(guān)于設(shè)置未選中復選框php的值的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!