Как сделать кроссбраузерный checkbox
есть checkbox
<input type="checkbox" name="hard_copy" OnClick="output();" > есть ajax
function output() {
hard_copy=document.getElementsByName('hard_copy').value;
two_copy=document.getElementsByName('two_copy').value;
nocache = Math.random();
http.open('get', '/chebe-kopir-pechat-zakaz.php?hard_copy='+hard_copy+'&two_copy='+two_copy+'&nocache='+nocache);
http.onreadystatechange = searchNameqReply;
http.send(null);
}
вывожу echo $hard_copy=$_POST['hard_copy']; Корректно работает только в Хроме. Т.е. постановка и снятие галки ведет к запланированному результату. В других браузерах: FF, Opera, IE выдает всегда On, true, 1, Yes...Как только не вертел... Гуглил день, не помогает... Чувствую, что checkbox иначе как то нужно обработать в ajaxe, но как? |
что такое
document.getElementsByName('hard_copy').value
какое может быть у флажка значение? |
теоретически value можно указать. здесь конечно оно лишнее. думаю будет работать и совсем без этой сточки.
Если шаришь, подскажи как true/false кроссбраузерно передать в php? |
т.е. состояние чекбокса передать php скрипту?
ваш код так же остаётся (только подправьте,если что) а щас будет выводиться ваш URL. обратите внимание на hard_copy в модальном окне
<input type="checkbox" name="hard_copy"> Тач ми
<script>
var hard_copy = document.getElementsByName('hard_copy')*!*[0]*/!*;
hard_copy.*!*onchange*/!*=function(){
/*ваш код AJAX*/
alert ( "URL : \n\n "+'/chebe-kopir-pechat-zakaz.php?hard_copy='+hard_copy.checked )
}
</script>
|
не работает к сожалению. через IE7 даже здесь можно проверить. когда проверяю у себя IE после клика на чекбокс пишет "Неопознанная ошибка"
|
В опере тоже интересно отрабатывает! Включил вывод строки:
<script type="text/javascript">
$(document).ready(function(){
function showValues() {
var str = $("form").serialize();
$("#results").text(str);
}
$(":checkbox, :radio").click(showValues);
showValues();
});
</script>
Когда галка есть выводит: &material=1&hard_copy=on&kol_files Когда нет: &material=1&kol_files при этом php отрабатывает, что hard_copy всегда в on! |
Цитата:
|
Спасибо ВСЕМ большое, разобрался :dance:
|
| Часовой пояс GMT +3, время: 21:35. |