代码之家  ›  专栏  ›  技术社区  ›  Trufa

选中(或不选中)复选框的URL连接javascript

  •  1
  • Trufa  · 技术社区  · 14 年前

    如果复选框被选中或未被选中,我有关于“sends by”的“get true or false”的代码:

    var isChecked = document.myform.checkbox.checked ? 1 : 0;
    var isChecked0 = document.myform.checkbox0.checked ? 1 : 0;
    var isChecked1 = document.myform.checkbox1.checked ? 1 : 0;
    
    xmlhttp.open("GET","roulette2.php?boxchecked=" + isChecked,true);
    xmlhttp.send();
    

    HTML如下所示:

    <input type="checkbox" name="checkbox" value="checkbox" />00<br />
    <input type="checkbox" name="checkbox0" value="checkbox" />0<br />
    <input type="checkbox" name="checkbox1" value="checkbox" />1<br />
    

    你可以在上面看到:

    xmlhttp.open("GET","roulette2.php?boxchecked=" + isChecked,true);
    

    这只验证是否单击了第一个复选框,而不是其他复选框。

    如何修改 xmlhttp.open 要使3个复选框变为“要选中的选项”。

    事先谢谢!!

    特鲁法

    1 回复  |  直到 14 年前
        1
  •  2
  •   some    14 年前

    要在一个变量中发送所有选中状态吗?

    在字符串中连接状态:

    var dm = document.myform;
    var isCheched = (dm.checkbox.checked ? "1" : "0")+
    (dm.checkbox0.checked ? "1" : "0") +
    (dm.checkbox1.checked ? "1" : "0");
    

    如果没有选中,则得到000;如果选中了Chekbox,则得到001;如果选中了All,则得到111。

    更新

    我又看了一遍你的密码,看到轮盘赌…你在写轮盘赌游戏吗?那么这可能有用:

    function submitRoulette( ) {
        var i,box;
        var boxes = document.getElementById("roulette").getElementsByTagName("input");
        var checked=[]; // We are going to conatenate the values in this array.
    
        for (i=0; i < boxes.length; ++i) {
            box = boxes[i];
            if (box.name=="b" && box.checked) {
                checked.push(box.value);
            }
        }
    
        checked = checked.join(""); // Converts the array to a string.
    
        xmlhttp.open("GET","roulette2.php?boxchecked=" + checked,true);
        xmlhttp.send();
    
        return false; // Prevents the form from being submited the normal way
    }
    

    使用HTML标记,如:

    <form id="roulette" method="post" action="" onsubmit="return submitRoulette()">
    <div>
        <span><input type="checkbox" name="b" value="0" />0</span>
        <span><input type="checkbox" name="b" value="-" />zero</span>
        <span><input type="checkbox" name="b" value="z" />00</span>
    </div>
    
    <div>
        <span><input type="checkbox" name="b" value="1" />1</span>
        <span><input type="checkbox" name="b" value="2" />2</span>
        <span><input type="checkbox" name="b" value="3" />3</span>
        <span><input type="checkbox" name="b" value="b" />1-3</span>
    </div>
    [snip]
    <div>
        <span><input type="checkbox" name="b" value="V" />31</span>
        <span><input type="checkbox" name="b" value="W" />32</span>
        <span><input type="checkbox" name="b" value="X" />33</span>
        <span><input type="checkbox" name="b" value="l" />31-33</span>
    </div>
    <div>
        <span><input type="checkbox" name="b" value="Y" />34</span>
        <span><input type="checkbox" name="b" value="Z" />35</span>
        <span><input type="checkbox" name="b" value="a" />36</span>
        <span><input type="checkbox" name="b" value="m" />34-36</span>
    </div>
    <div>
        <span><input type="checkbox" name="b" value="n" />1..34</span>
        <span><input type="checkbox" name="b" value="o" />2..35</span>
        <span><input type="checkbox" name="b" value="p" />3..36</span>
    </div>
    
    <div>
        <span><input type="checkbox" name="b" value="q" />1-12</span>
        <span><input type="checkbox" name="b" value="r" />13-24</span>
        <span><input type="checkbox" name="b" value="s" />25-36</span>
    </div>
    <div>
        <span><input type="checkbox" name="b" value="t" />1-18</span>
        <span><input type="checkbox" name="b" value="u" />19-36</span>
    </div>
    <div>
        <span><input type="checkbox" name="b" value="v" />odd</span>
        <span><input type="checkbox" name="b" value="w" />even</span>
        <span><input type="checkbox" name="b" value="x" />red</span>
        <span><input type="checkbox" name="b" value="y" />black</span>
    </div>
    
    <button type="submit">Send</button>
    </form>
    

    在您的PHP代码中,您必须解码以下值:

    0-35 is 0-9,A-Z and 36 = a.
    row 1 (1-3) = b, row 2 (4-6) = c ... row 12 (33-36) = m
    col 1 (1..34) = n, col 2(2-24) = o, col 3(3-36) = p
    1-12 = q, 13-24 = r, 25-36 = s
    1-18 = t, 19-36 = u
    odd = v, even = w
    red = x, black = y
    00 = x
    0 or 00 = - (minus)