@ebbk

Как сделать чтобы все чекбоксы передались если даже они не поставлены?

Драстите у меня есть такая форма, в котором все инпут сделаны так [] чтобы в php я принимал его как массив
<table>

<tr> 
<td>Config</td>
<td><input type="text" name="name[]"><</td>
<td><input  type="text" name="key[]"></td>
<td><input  type="checkbox" name="required[]"  value="0"></td>
</tr>

<tr> 
<td>Config</td>
<td><input type="text" name="name[]"><</td>
<td><input  type="text" name="key[]"></td>
<td><input  type="checkbox" name="required[]"  value="0"></td>
</tr>

<tr> 
<td>Config</td>
<td><input type="text" name="name[]"><</td>
<td><input  type="text" name="key[]"></td>
<td><input  type="checkbox" name="required[]"  value="0"></td>
</tr>
</table>


Вот так примерно выглядит в php
<?php 
foreach ($_POST['name'] as $key => $value) {
   $array[] = ['
     name' => $value, 
    'key' => $_POST['key'][$key],  
    'required' => $_POST['required'][$key]
 ];
}
?>


Но все всем этом как то не правильно работает чекбокс, тоесть если там не установлена галочка он не приходит, и все путается. Как сделать чтобы чекбокс отправлялся в любом случае установлена галочка или нет ?
Пробовал задать value="1" не помогает вообще
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 2
@ebbk Автор вопроса
пришлось придумать такую штуку делать не checkbox а текст, при изменении менять значение в input через jquery
<table>
<tr> 
<td>Config</td>
<td><input type="text" name="name[]"><</td>
<td><input  type="text" name="key[]"></td>
<td><input type="checkbox" class="viev"> <input type="text" name="required[]" style="display: none;" class="main" checked></td>
</tr>

<tr> 
<td>Config</td>
<td><input type="text" name="name[]"><</td>
<td><input  type="text" name="key[]"></td>
<td><input type="checkbox"  class="viev"> <input type="text" name="required[]" style="display: none;" class="main" checked></td>
</tr>

<tr> 
<td>Config</td>
<td><input type="text" name="name[]"><</td>
<td><input  type="text" name="key[]"></td>
<td><input type="checkbox" class="viev"> <input type="text" name="required[]" style="display: none;" class="main" checked></td>
</tr>
</table>

<script type="text/javascript">
	$('.viev').change(function(){
		if ($(this).closest('td').find('.main').val() == '0') {
			$(this).closest('td').find('.main').val('1');
		} else {
			$(this).closest('td').find('.main').val('0');
		}
	});
</script>
Ответ написан
v3shin
@v3shin
А гуглить пробовали?
'required' => +isset($_POST['required'][$key]),
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы