如何在输入代码的ID中使用此关键字并更改onclick()事件的值

时间:2019-09-14 07:00:34

标签: javascript html

我是Java的新手。我想通过使用此关键字单击复选框输入类型来更改名称属性的值。 代码的主要目的是,我希望在单击Preferences时将元素的值保存在php中的数组中。例如,如果我首先单击Oranges复选框,则Oranges的name属性的值应为“ fruits [0]”;如果我取消选中复选框,则Oranges的name属性值应为“ fruits []”,并且所有属性都相同。当我单击提交值时,应根据索引将其附加在php数组中。 我会感激你的       

</head>
<body>
    <form action="<?php $_PHP_SELF ?>" method="POST">
    Apples:<input onclick="values()" id="chkbox(this)" type="checkbox" name="fruits[]" value="Apples">
    <br><br>
    Oranges:<input onclick="values()" id="chkbox(this)" type="checkbox" name="fruits[]" value="Oranges">
    <br><br>
    Pears:<input onclick="values()" id="chkbox(this)" type="checkbox" name="fruits[]" value='Pears'>
    <br><br>
    <input type='submit' value="submit">
    </form>
    <script>
        var test=0;
        function values()
        {
            if(checkbox.checked == true)
            {
                if(test==0)
                {
                    document.getElementById('chkbox(this)').name='fruits[',test,']';

                }
                else
                {
                    test=test+1;
                    document.getElementById('chkbox(this)').name='fruits[',test,']';

                }

            }
            else
            {
                test=test-1;
                document.getElementById('chkbox(this)').name='fruits[]';

            }
        }
    </script>

</body>
</html>
<?php
$fruits=$_REQUEST["fruits"];
echo $fruits[1];
?>

2 个答案:

答案 0 :(得分:0)

在“值”功能中,我没有看到已经定义了复选框对象,这可能是您的问题。

尝试编辑输入onclick属性,以使其在参数内显示“ this”。然后使用“ arguments [0] .checked”代替“ checkbox.checked”。

我认为这行得通,祝您好运!

编辑:我不明白为什么(this)包含您的复选框的ID?

第一个if语句的提示:如果删除“ == true”部分,代码仍将运行。

替换test = test + 1;和test = test-1;与测试++;并测试-;

祝您Java脚本好运!

答案 1 :(得分:0)

尝试一下:

</head>
<body>
    <form action="<?php $_PHP_SELF ?>" method="POST">
    Apples:<input onclick="values(this)" id="chkbox0" type="checkbox" name="fruits[]" value="Apples">
    <br><br>
    Oranges:<input onclick="values(this)" id="chkbox1" type="checkbox" name="fruits[]" value="Oranges">
    <br><br>
    Pears:<input onclick="values(this)" id="chkbox2" type="checkbox" name="fruits[]" value='Pears'>
    <br><br>
    <input type='submit' value="submit">
    </form>
    <script>
        var test=0;
        function values()
        { var element = arguments[0];
            if(element.checked)
            {
                if(test==0)
                {
                    element.name='fruits['+test+']';

                }
                else
                {
                    test++;
                    element.name='fruits['+test+']';

                }

            }
            else
            {
                test--;
                element.name='fruits[]';

            }
        }
    </script>

</body>
</html>
<?php
$fruits=$_REQUEST["fruits"];
echo $fruits[1];
?>