Javascript onChange checkBox

0

Хорошо, ребята, поэтому я безнадежно новичок в Javascript. Я до сих пор делаю это хорошо. Но я не могу понять, в чем проблема. Я пытаюсь отправить некоторые данные в файл php через GET, чтобы изменить некоторые данные в базе данных, когда вы установите флажок. Вот код.

<?
$comple = $tasking['status'];
if($comple=="complete"){
?>
<input type="checkbox" name="<? echo $tasking['id']; ?>" checked="true"
onchange="change()"> <? echo $tasking['detail']; ?><br>
<?
}
else{
?>
<input type="checkbox" name="<? echo $tasking['id']; ?>" onchange="change()"> <? echo 
$tasking['detail']; ?><br>
<?
}
?>



<script>
function change(){
var id = document.getElementById(this).name;
var ch = document.getElementById(this).checked;
var sendto = 'changetask.php?id=' + id + '&&ch=' + ch;
if(window.XMLHttpRequest){
  xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET",sendto,false);
  xmlhttp.send(null);
}
else{
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.open("GET",sendto,false);
  xmlhttp.send();
}

}
</script>
  • 1
    А в чем твоя проблема.? Есть ли какая-либо ошибка.? Я не вижу вопроса здесь.
  • 0
    Если вы столкнулись с проблемой при отправке запроса на страницу php, тогда я предлагаю вместо использования javascript на основе ajax использовать jquery.
Показать ещё 2 комментария
Теги:

2 ответа

0
Лучший ответ

Попробуй это

Демо: http://jsbin.com/obiFisIL/1/edit

ur html код должен быть

<input type="checkbox" name="<? echo $tasking['id']; ?>" checked="true"
onchange="change(this)"> <? echo $tasking['detail']; ?>

В ur html я добавил "это" в функцию onchange как параметр.....

ur js должен быть

function change(dis){
var id = dis.name;
var ch = dis.checked;
-----

Полный код

<?
$comple = $tasking['status'];
if($comple=="complete"){
?>
<input type="checkbox" name="<? echo $tasking['id']; ?>" checked="true"
onchange="change(this)"> <? echo $tasking['detail']; ?><br>
<?
}
else{
?>
<input type="checkbox" name="<? echo $tasking['id']; ?>" onchange="change(this)"> <? echo 
$tasking['detail']; ?><br>
<?
}
?>



<script>
function change(dis){
var id = dis.name;
var ch = dis.checked;
var sendto = 'changetask.php?id=' + id + '&&ch=' + ch;
if(window.XMLHttpRequest){
  xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET",sendto,false);
  xmlhttp.send(null);
}
else{
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.open("GET",sendto,false);
  xmlhttp.send();
}

}
</script>
  • 0
    Это сработало! Спасибо.
  • 0
    тогда почему -1 ??????
Показать ещё 2 комментария
0

Я вижу в скобках в конце концов, что проблема??? В противном случае код в порядке.

<?
$comple = $tasking['status'];
if($comple=="complete"){
?>
<input type="checkbox" name="<? echo $tasking['id']; ?>" checked="true"
onchange="change()"> <? echo $tasking['detail']; ?><br>
<?
}
else{
?>
<input type="checkbox" name="<? echo $tasking['id']; ?>" onchange="change()"> <? echo 
$tasking['detail']; ?><br>
<?
}
?>

Вот модифицированный код..

  • 0
    } Закрывает «остальное». Да, я изменил это на это. Я смотрю на этот код. Интересно, если это остальная часть javascript, я мог бы сделать неправильно.
  • 0
    Ой, простите. Я вижу этот дополнительный} в моем коде .. Не ваш. Но есть много кода, который не показан. Прости за это.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню