ajax — если в переполнении стека установлен флажок

Я использовал следующий код

order.php

        <script type="text/javascript">
function processForm() {
$.ajax( {
type: 'POST',
url: 'ajax.php',
data: { checked_box : $('input:checkbox:checked').val()},

success: function(data) {
$('#results').html(data);
}
} );
}
</script>

<input type="checkbox" name="checked_box" value="1" onclick="processForm()">

И ajax.php

<?php
include "config.php";
$checkbox = intval($_POST['checked_box']);
echo $checkbox;
if($checkbox == 1){
$Query="SELECT * FROM `order` ORDER BY sl_no DESC";
}else{
$Query="SELECT * FROM `order` ORDER BY sl_no ASC";
}
$result=mysql_query($Query);
echo $Query;
while($row = mysql_fetch_object($result)) {
?>

Это работает хорошо, но когда я снял флажок, то отображается ошибка

Примечание: неопределенный индекс: флажок_ в папке C: \ xampp \ htdocs \ website \ admin \ ajax.php в строке 24

Как избежать этой ошибки ???

-3

Решение

Это не ошибка, а уведомление. Вы получите такие уведомления, если попытаетесь получить доступ к неинициализированным переменным. Просто инициализируйте его соответствующим начальным значением.

Сложность в вашем коде заключается в том, что вы предполагаете, что получите значение флажка, поскольку оно включено в форму. Но бывает, что флажки не отправляются, ЕСЛИ ОНИ НЕ БЫЛИ ПРОВЕРЕНЫ.

0

Другие решения

Вместо intval($_POST['checked_box']); использование isset($_POST['checked_box']); чтобы убедиться, что значение существует вообще.

После этого вы можете использовать intval если вам все еще нужно это значение.

0

У меня есть выпадающий список

<select name="status" id="status" onchange="changeStatus()">
<option value="step_1">step_1</option>
<option value="step_2">step_2</option>
<option value="step_3">step_3</option>
<option value="step_4">step_4</option>
</select>

И мой JavaScript

    <script>
function changeStatus() {
$('select.changeStatus').change(function(){
$.ajax({
type: 'POST',
url: 'update_status.php',
data: {changeStatus: $('select.changeStatus').val()},
dataType: 'html'
});
});
});
</script>

Поэтому я хочу, чтобы значение, выбранное в выпадающем списке выбора, отправлялось в файл php (update_status.php)

0

Это все потому, что только проверенные флажки включены в запрос POST. Так что вам нужно проверить, если ваш checked_box ключ существует, чтобы выяснить, установлен флажок или нет:

if(isset($_POST['checked_box']) {
.. set
} else {
.. not set
}
-1
По вопросам рекламы [email protected]