0

既に検証を使用しているフォームを取得しましたが、ラジオ ボタンの検証も含めたいと考えています。これは、既に onSubmit="" を使用していることを示す html フォームの上部です。

<form id="form_603298" class="appnitro" method="post" action="" onSubmit="javascript:return validate_form();">
<fieldset>

そして、これをhtmlフォームの一番下に追加しました:

<fieldset>
    <legend>Status</legend>
    <input id="element_14_1" name="element_14" type="radio" value="1" />
    <label for="element_14_1">Active</label>
    <input id="element_14_2" name="element_14" type="radio" value="2" />
    <label for="element_14_2">Inactive</label>
    </fieldset>

現在、残りの検証スクリプトの一部としてラジオ ボタンの検証を含めようとしています。これを検証スクリプトの最後に含めようとしました:

<!--================Validate drop down options==========================-->
<script type="text/javascript" language="javascript">
function validate_dropdown(){
    var dropdown = document.getElementById('element_11');
    var dropdown = document.getElementById('element_12');
    var dropdown = document.getElementById('element_13');
    if(dropdown.selectedIndex==0){
        alert("Please select drop down options");

    return false; 
    }else{

    return true;
    }
}

<!--================Validation start and end dates==========================--> 
    $(document).ready(function() {
        $("#dataStart").datepicker({
            minDate: 1,
            onSelect: function(theDate) {
                $("#dataEnd").datepicker('option', 'minDate', new 
Date(theDate));
            },
            beforeShow: function() {
                $('#ui-datepicker-div').css('z-index', 9999);
            },
            dateFormat: 'yy/mm/dd'
        });
        $("#dataEnd").datepicker({
            beforeShow: function() {
                $('#ui-datepicker-div').css('z-index', 9999);
            },
            dateFormat: 'yy/mm/dd'
        });

    });

<!--================Validate radio buttons==========================-->

if(document.getElementById('element_14_1').checked) {
//Active radio button is checked
}else if(document.getElementById('element_14_2').checked) {
//Inactive is checked
}

これは動作しません。誰でも私を正しい方向に向けることができますか?私はこれに慣れていないので、説明がわかりやすいようにお願いします。

4

2 に答える 2

0
function checkStatus(evt) {
    var val = $("input[name=element_14]:checked").val();
    if (val == 'Active') {
        alert(val);//Active is checked
    } else {
        alert(val);//in active is checked
    }
}

$('input[name=element_14]:radio').change(checkStatus);

checkStatus();

これで問題が解決します..

于 2013-06-02T12:51:07.440 に答える
0

あなたが提供したスクリプトから判断すると、ページに jQuery ライブラリが含まれていると思います。その場合は、スクリプトの次の部分を置き換えます。

if(document.getElementById('element_14_1').checked) {
//Active radio button is checked
}else if(document.getElementById('element_14_2').checked) {
//Inactive is checked
}

これとともに:

$(':radio').change(function() {
    if($('#element_14_1').is(':checked')) { 
      alert("Active radio checked"); 
    }
    if ($('#element_14_2')) {
     alert("Inactive radio checked"); 
    }
});

これは単に変更イベントをすべてのラジオ ボタンに追加し、イベント内でラジオ ボタンがチェックされているかどうかを確認します。

これにより、ラジオ ボタンが修正されたアラートが表示されますが、アラートを好きなものに置き換えることができます。

これがあなたの求めているものでない場合は、私に知らせてください。答えを調整します:P

于 2013-06-02T12:42:58.963 に答える