Подтвердить что ты не робот

Флажок всегда "on"

Hy!

Когда Uploadify отправляет файл в действие, мне нужно знать, проверен ли чекбокс или нет, поэтому я сделал:

    $('#uploaded').uploadify({
        'uploader': '/uploadify.swf',
        'cancelImg': '/cancel.png',
        'script': '/Interaction/Upload',
        'multi': true,
        'auto': false,
        'method': 'post',
        'scriptData': {'Checkbox': $('#checkbox').val()},
    });

Но я получаю значение "on". Независимо от того, проверено или нет.

может кто-нибудь помочь? Tks.


UPDATE:

Я понял, что uploadify получает флажок при загрузке страницы. Это означает, что если я изменил флажок (или любой другой тип ввода), то uploadify получит начальное значение, в данном случае "checkbox = false".

Как отправить форму с помощью добавления?

Tks.

4b9b3361

Ответ 1

попробуйте $('#checkbox').is(':checked')

Ответ 2

Значение флажка всегда 'on'. Форма HTML отправляет значение на сервер только в том случае, если установлен флажок. Если флажок не установлен, параметр запроса будет отсутствовать. Эта семантика, по-видимому, сводит к минимуму различия между флажками и переключателями.

В HTML-форме реализована следующая семантика:

if ($('#mycheckbox').is(':checked')) {
    payload['mycheckbox'] = $('#mycheckbox').val();
}

Вы можете либо имитировать эту семантику в Ajax, либо отправить флаг "checked" непосредственно следующим образом:

payload['mycheckbox'] = $('#mycheckbox').is(':checked');

Я бы порекомендовал mimic'ing семантику HTML-формы. Независимо от того, что делает клиент, я бы рекомендовал следующее в код сервера:

if mycheckbox param exists and its value is either 'true' or 'on' {  // pseudo code of course
    // mycheckbox is checked
} else {
    // mycheckbox is unchecked
}

Надеюсь, что это объяснение поможет.

Ответ 3

Существует довольно удобный способ проверить все эти свойства элемента, такие как disabled, checked и т.д. с помощью функции prop. Это также преобразует его в boolean:

$('#checkbox').prop('checked'); // -> true/false
$('#checkbox').prop('disabled'); // -> true/false

Ответ 4

Попробуйте это

$('#checkbox').is(':checked')

Ответ 5

Изменить:

$('#checkbox').val()

к

$('#checkbox').attr('checked')

Ответ 6

У меня была такая же проблема и нашел это решение:

if($("input[name='yourcheckbox']").is(':checked')) {
   console.log('chb checked');
} else {
   console.log('chb not checked');
}

Ответ 7

Использование:

$('#checkbox').attr('checked')

Ответ 8

Вы можете дать

если (JQuery (это).attr( 'проверено')) { //u должен использовать этот селектор в соответствии с вашей функцией, это может быть .click.live или еще..

Спасибо