0

私はこのスクリプトを書きました:

function getDays(select){
    var selectedString = select.options[select.selectedIndex].value;
    if(selectedString == 4)
    {
        document.getElementById("days_target").style.display = "block";
    }else {
        document.getElementById("days_target").style.display = "none";
    }
}

そしてvalidateForm()機能的に私はこれを持っています:

var x=document.forms["form1"]["days"].value;
if (x==null || x=="" || x=="Select Days")
{
    alert("Oh, you forgot to select days! :)");
    return false;
}
var x=document.forms["form1"]["days"].value;
if(x=="4")
{
    var cnt = 0;
    for (var i = 7; i < document.day.elements.length; i++) {
        if (document.day.elements[i].type == 'checkbox') {
            if (document.day.elements[i].checked == true) {
                cnt++;
            }
        }
    }
    if (cnt == 0) {
        alert("Atleast 1 day Should be Selected.");
        return false;
    }
}

HTML は次のようになります。

<b>Please enter days required</b><br/>
<select name="days" id="days" style="width:200px;" onchange="getDays(this)">
    <option value="Select Days" selected>Select Days</option>
    <option value="1">Mon-Fri</option>
    <option value="2">Mon-Fri</option>
    <option value="3">Mon-Fri</option>
    <option value="4">Bespoke Days</option>
</select><br/><br/>
<div id="days_target" style="display:none;">
    <b>Select Days</b><br/>
    <input type="checkbox" name="day" value="mon"/>Mon &nbsp;&nbsp;<input type="checkbox" name="day" value="tue"/>Tue<br/>
    <input type="checkbox" name="day" value="wed"/>Wed &nbsp;&nbsp;<input type="checkbox" name="day" value="thr"/>Thr<br/>
    <input type="checkbox" name="day" value="fri"/>Fri &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="day" value="sat"/>Sat<br/>
    <input type="checkbox" name="day" value="sun"/>Sun<br/><br/>
</div>

Bespoke days を選択すると、そのチェック ボックスが表示され、何もチェックされていない場合は、「少なくとも 1 日を選択する必要があります」というエラー メッセージを表示したいと考えています。これを行う方法?

4

2 に答える 2