如何选中此脚本以包含复选框检查

时间:2013-03-15 08:02:16

标签: javascript javascript-events

我是javascript的总菜鸟。我在我的head代码之间使用此脚本,这会强制用户在点击提交按钮之前滚动textarea

<script language="JavaScript">
<!--

function textareaAtEnd(textareaObj)
{
    return ((textareaObj.scrollTop + textareaObj.offsetHeight) > textareaObj.scrollHeight);
}

function formValidation(formObj)
{
    if (textareaAtEnd(formObj.licenseAgreement))
    {
        return true;

    } else {
        alert ("Please scroll to the end to move on.")
        return false;
    }

}

// -->
</script>

我的<form>看起来像这样:

<form action="step2.php" method="post" onSubmit="return formValidation(this);">
    <textarea name="licenseAgreement" rows="20" cols="90">Very long license agreement text</textarea>
    <br />
    <input name="agree" type="checkbox" value="yes" /> I have read and agreed the above license agreement
    <br />
    <input type="submit" value="CONTINUE">
</form>

如何调整此javascript以检查是否已选中<input name="agree" type="checkbox" value="yes" />,是否不向用户回复消息?我是一个总菜鸟,这是我第一次使用javascript。

4 个答案:

答案 0 :(得分:0)

你走了:

if (document.getElementById('agree').checked == false) { 
    alert('Check the agree box dummy!');
}

使用ID是我总是建议用于客户端代码的最佳实践。

因此,您可以将验证功能更改为:

function formValidation() {
    if (textareaAtEnd(document.getElementById('licenseAgreement')) == false) {
        alert ("Please scroll to the end to move on.")
        return false;
    } 
    else if (document.getElementById('agree').checked == false) {
        alert('Check the agree box dummy!');
        return false;
    }
    else {
        return true;
    }
}

另外请务必在您的id="agree"<input type="checkbox"添加id="licenseAgreement"到您的文本区...

所以看起来应该是这样的:

<input name="agree" id="agree" type="checkbox" value="yes" />

...

<textarea name="licenseAgreement" id="licenseAgreement" rows="20" cols="90">

您的表单标记,您可以删除this参数:

onSubmit="return formValidation();"

答案 1 :(得分:0)

DO

function formValidation(formObj) {
    if(!formObj.agree.checked) {
        alert ("Please agree to terms.")
        return false;
    } else if (textareaAtEnd(formObj.licenseAgreement)) {
        return true;
    } else {
        alert ("Please scroll to the end to move on.")
        return false;
    }

}

演示:Fiddle

答案 2 :(得分:0)

使用checked属性:

var checkbox = document.getElementsByName("agree")[0];

if(checkbox.checked) 
  alert("Check that");

答案 3 :(得分:0)

<强>替换

<input name="agree" type="checkbox" value="yes" />

。通过

<input name="agree" id="agree" type="checkbox" value="yes" />

为复选框添加id=agree属性。

if(document.getElementById("agree").checked == false)
{
    alert("Checkbox is not checked , please select checkbox");
}