ハイ!
Uploadifyがファイルをアクションに送信するときに、チェックボックスがチェックされているかどうかを確認する必要があるため、次のようにしました。
$('#uploaded').uploadify({
'uploader': '/uploadify.swf',
'cancelImg': '/cancel.png',
'script': '/Interaction/Upload',
'multi': true,
'auto': false,
'method': 'post',
'scriptData': {'Checkbox': $('#checkbox').val()},
});
しかし、私は「オン」の値を取得します。チェックされているかどうかは関係ありません。
誰か助けてもらえますか? Tks。
更新:
ページが読み込まれると、uploadifyがチェックボックスを取得していることに気付きました。つまり、チェックボックス(または他のタイプの入力)を変更すると、uploadifyが初期値(この場合は「checkbox = false」)を取得します。
Uploadifyでフォームを送信するにはどうすればよいですか?
Tks。
$('#checkbox').is(':checked')
を試してください
チェックボックスの値は常に「オン」です。 HTMLフォームは、チェックボックスがオンの場合にのみサーバーに値を送信します。ボックスがチェックされていない場合、リクエストパラメータはありません。このセマンティクスは、チェックボックスとラジオボタンの違いを最小限に抑えるためのものです。
HTMLフォームは、次のセマンティクスを実装します。
if ($('#mycheckbox').is(':checked')) {
payload['mycheckbox'] = $('#mycheckbox').val();
}
次のように、Ajaxでこのセマンティクスを模倣するか、「checked」フラグを直接送信できます。
payload['mycheckbox'] = $('#mycheckbox').is(':checked');
HTMLフォームのセマンティクスを模倣することをお勧めします。クライアントの動作に関係なく、サーバーコードでは次のことをお勧めします。
if mycheckbox param exists and its value is either 'true' or 'on' { // pseudo code of course
// mycheckbox is checked
} else {
// mycheckbox is unchecked
}
この説明がお役に立てば幸いです。
disabled
関数を使用して、checked
、prop
などのこれらすべての要素のプロパティを確認する非常に便利な方法があります。これもブール値に変換します:
$('#checkbox').prop('checked'); // -> true/false
$('#checkbox').prop('disabled'); // -> true/false
これを試して
$('#checkbox').is(':checked')
変化する:
$('#checkbox').val()
に
$('#checkbox').attr('checked')
私は同じ問題を抱えていて、この解決策を見つけました:
if($("input[name='yourcheckbox']").is(':checked')) {
console.log('chb checked');
} else {
console.log('chb not checked');
}
使用する:
$('#checkbox').attr('checked')