Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果未选中其他复选框,如何返回false并显示警报_Javascript_Html - Fatal编程技术网

Javascript 如果未选中其他复选框,如何返回false并显示警报

Javascript 如果未选中其他复选框,如何返回false并显示警报,javascript,html,Javascript,Html,我对JavaScript完全陌生,对于如何在代码下面开始更好的解释,我完全感到困惑 <form> <div id="NECESSARY"> <table id="Table1"> <tr> <td class="name">necessary-a</td> <td class="button">

我对JavaScript完全陌生,对于如何在代码下面开始更好的解释,我完全感到困惑

<form>
    <div id="NECESSARY">
        <table id="Table1">
            <tr>
                <td class="name">necessary-a</td>
                <td class="button">
                    <input type="radio" name="necessary" value="uniquename1" /></td>
            </tr>
            <tr>
                <td class="name">necessary-b</td>
                <td class="button">
                    <input type="radio" name="necessary" value="uniquename2" /></td>
            </tr>
        </table>
    </div>

    <div id="group2">
        <table id="Table2">
            <tr>
                <td class="name">group2-a</td>
                <td class="button">
                    <input type="checkbox" name="group2" value="uniquename3" /></td>
            </tr>
            <tr>
                <td class="name">group2-b</td>
                <td class="button">
                    <input type="checkbox" name="group2" value="uniquename4" /></td>
            </tr>
        </table>
    </div>

    <div id="group3">
        <table id="Table3">
            <tr>
                <td class="name">group3-a</td>
                <td class="button">
                    <input type="radio" name="group3" value="uniquename5" /></td>
            </tr>
            <tr>
                <td class="name">group3-b</td>
                <td class="button">
                    <input type="radio" name="group3" value="uniquename6" /></td>
            </tr>
        </table>
    </div>

<div id="canbeselectedwhenever">
    <table id="whenever">
        <tr>
            <td class="name">whenever-a</td>
            <td class="button">
                <input type="checkbox" name="whenever" value="uniquename7" /></td>
        </tr>
        <tr>
            <td class="name">whenever-b</td>
            <td class="button">
                <input type="checkbox" name="whenever" value="uniquename8" /></td>
        </tr>
    </table>
</div>
</form>
因此,如果在必要的输入之前选择了group1或group2的复选框/单选按钮,复选框/单选按钮将不会被选中,并将在屏幕上显示警报。但是,可以选择来自何时的输入,而无需选择来自何时的输入

很抱歉问你这个问题,但我真的非常感谢你能给予我的任何帮助。
谢谢:

我认为这是一个非常基本的javascript问题,听起来是这样。您需要将onClick事件处理程序添加到要检查其if条件的元素的选择中。然后您需要学习如何读取元素提示document.getElementByIdid的值,我想就这些了。谷歌onclick,checkbox value和其他术语,或者读w3schools.com,我做了一把小提琴

查找信息

Javascript代码:
希望有帮助

您对JQuery感到满意吗?如果您不确定从哪里开始,这可能是一个好地方:。您好:我还没有看过JQuery-我正计划看,但不幸的是,我已经到了最后期限@scampbell,谢谢你的建议:事实上我已经在尝试通过ca学习javascript,但是我还没有足够快的速度在截止日期前完成学习,我会在之后继续使用codeacademy,因为它是一个很好的网站。可能是为了学习jquery,hahai也有类似的想法,但我不太熟悉,不知道从哪里开始,不幸的是:\但我会再试一次,然后查找这些。谢谢:事实上,你知道有没有办法引用js中的所有onClick事件,然后运行if/then/else方法?或者我会为html中的每个输入项添加一个onClick事件吗?@TechMaze我想OP要求的是每个输入元素,而不是整个页面。@user3367370您可以像我的回答那样使用for循环来完成。非常感谢!如果确实引起警报,是否可以不选中复选框/单选按钮?目前,警报后仍会选择它。但这与我的想法非常接近,再次感谢:@user3367370 Done。如果我的答案有帮助,请点击绿色的勾号接受。谢谢:谢谢你到目前为止的所有帮助:如果你有任何额外的时间,你知道我如何使一些输入组免于警报?i、 e.每当我添加到html时输入组。如果没有,非常感谢你
// get all the input elements
var inputs = document.getElementsByTagName("input");

var temp = [];      // holds the radio/checkboxes
var necessary = []; // holds the necessary elements

for(var i = 0; i < inputs.length; i++){
    if(inputs[i].name !== "necessary")
        temp.push(inputs[i]);
    else
        necessary.push(inputs[i]);
}

inputs = temp.slice(0);  // get a copy of the temp array and store in inputs

for(var i = 0;i < inputs.length; i++){
    // add an event listener which fires the `mouseDown` on 'click'
    if(inputs[i].name !== "whenever")  // `whenever` elements do not undergo checks
         inputs[i].addEventListener("click", mouseDown, false);
}


function mouseDown(checkbox){
    var any_checked = false; // is any radio button checked ?

    for(var i = 0; i < necessary.length; i++){
        if(necessary[i].checked){ // if any is checked 
            any_checked = true;  // any radio is checked = true
            break;              // come out of loop
        }
    }

    if(! any_checked){  /// if nothing is checked
        alert("You left all fields blank.");  // alert user
        for(var i = 0; i < inputs.length; i++){
            inputs[i].checked = false;  // make the checked property false.
        }
    }
}