0

私はこれをほとんど手に入れました...うまくいけば、これをロックできます。

この最初の部分は、フォームの外側にあるチェックボックスです。

<div class='span5' style='margin-left:0px !important;'>
                        <label for='model0'>
                            <input type="checkbox" name="model0" id="model0" value="test" style='margin-top:-5px !important;'> test</label>
                    </div>  .

これは、フォーム領域の send_mail.php に model0 の値 (チェックされている場合) を送信するためのスクリプトです。

$("#final_form").submit(function () {
     $("#model0_is_checked").val($("#model0").is(':checked'));
    return test;
    });

そして、これはフォーム領域です:

<form method="post" class="form-horizontal" id="final_form" action="send_mail.php">
        <input type="hidden" id="model0_is_checked" name="model0_is_checked" value="test" />    MORE FORM STUFF AND SUBMIT BUTTON     </form>

model0_is_checked を呼び出すと、呼び出しようとしているように「テスト」するのではなく、true が得られます...誰かが理由を知っていますか?

4

2 に答える 2

1

ここで sth を実行できます (コードに基づいて): http://jsfiddle.net/SdMAt/ javascript の部分を書き直しました。非表示の入力 (結果を表示するためにテキスト タイプに変更) は、この外部チェックボックスをクリックするたびに変更されます。

$("#model0").on('click', function () {
    if ($(this).is(':checked')) {
        $('#model0_is_checked').attr('value','true'); 
    } else {
        $('#model0_is_checked').attr('value','false'); 
    }
});
于 2013-08-07T22:37:07.683 に答える
0

.is(':checked')チェックボックスがチェックされているかどうかについて true または false を返します。値は返しません。次のようなことができます。

//if checked
if($("#model0").is(':checked')){
    //set the value
    $("#model0_is_checked").val($("#model0").val());
//not checked
} else {
    //set to some other default value
    $("#model0_is_checked").val("not checked");
}

ただし、フォームにチェックボックスを含めるだけでは、送信時にチェックボックスの値が取得され、チェックされていない場合は値が取得されません。送信時に、php では、チェックされている場合は$_POST['model0']equal になりtest、チェック$_POST['model0']されていない場合は設定されません。$model0 = isset($_POST['model0'])?$_POST['model0']:null;エラーなしで値を取得するようなことができます。

于 2013-08-07T22:23:34.543 に答える