JavaScript 复选框只提交一个输入

标签 javascript forms checkbox

我在提交复选框时遇到问题。代码如下:

JavaScript

function init () {
    document.getElementById("pizza").topping[0].checked=true;
    document.getElementById("btn").onclick=poll;
}
onload = init;

function poll () {
    var i, isOK, summary="";
    var form=document.getElementById("pizza");
    for (i=0; i < form.topping.length; i++) {
        if (form.topping[i].checked) {
            summary+=form.topping[i].value+" ";
        }
    }
    isOK = confirm("Submit these choices?\n" + summary);
    if (isOK) {
        form.submit();
    } else {
        return false;
    }
}

HTML

<form id="pizza" action="poll.php" method="POST">
    <div id="panel">Pizza Topping?
        <input type="checkbox" name="topping" value="Cheese">Cheese</input>
        <input type="checkbox" name="topping" value="Ham">Ham</input>
        <input type="checkbox" name="topping" value="Peppers">Peppers</input>
        <input id="btn" type="button" value="Confirm Choices"></input>
    </div>
</form>

poll.php

<?php
    echo "<br>***************<br>";
    var_dump($_POST);
    echo '*********************';
?>

JS确认信息: 提交这些选择? 奶酪辣椒

poll.php 的输出:


数组(大小=1) 'topping' => string 'Peppers' (length=7)


所以我的问题是:我检查了 Cheese and Peppers,但只提交了 Peppers。谁能帮帮我?

最佳答案

给输入元素一个类似名称的数组(后缀[])

<input type="checkbox" name="topping[]" value="Cheese">Cheese</input>
<input type="checkbox" name="topping[]" value="Ham">Ham</input>
<input type="checkbox" name="topping[]" value="Peppers">Peppers</input>

关于JavaScript 复选框只提交一个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586855/

相关文章:

javascript - JavaScript 中原型(prototype)链的问题

javascript - 最后一个斜线后的所有字符 JavaScript RegEx

javascript - .find() 多选器不能添加prop

javascript - 在同一页面上创建多个 redux-form 并使用相同的按钮提交

c# - ASP.NET MVC 3 - 多个复选框列表

javascript - 取消选中特定组的动态生成的复选框

java - 重启 Android 后自定义小部件中的 Android 持久可检查菜单

javascript - Angular 4预定表格自动保存

php - $_POST 问题,如果 isset() 和 mysql_fetch_assoc() : echo returns correct value, 页面源总是返回 else 值

javascript - 如何使用ajax单击同一行上的另一个值来更改表的特定行的值