我有一个表单,它将用户定义的名称和电子邮件地址写入mysql数据库。我遇到的问题是表单的第二部分是给复选框赋值,然后给你一个和,它被定义为“total”。我想把这个总数写到同一个数据库。我刚开始用JS编写代码,我不太确定一旦用户建立了值,如何传递total。

<form name="form1">
    <input type="checkbox" name="check[]" data-weight="5" /> 5<br />
    <input type="checkbox" name="check[]" data-weight="10" /> 10<br />
    <input type="checkbox" name="check[]" data-weight="30" /> 30<br />
    <div>Total: <span id="total">0</span></div>
</form>

<script type="text/javascript">
    (function () {
        var totalEl = document.getElementById('total');
        var total = 0;
        var checkboxes = document.form1['check[]'];

        var handleClick = function () {
            total += parseInt(this.getAttribute('data-weight'), 10) * (this.checked ? 1 : -1);
            totalEl.innerHTML = total;
        };

        var l = checkboxes.length;
        for (i = 0; i < l; ++i) {
            checkboxes[i].onclick = handleClick;
        }
    }());
</script>

最佳答案

可以添加隐藏的输入元素:

<input id="totalChecked" type="hidden" name="total" value="0" />

并在函数中添加以下内容:
document.getElementById('totalChecked').value = total;

看看这个fiddle

07-24 09:44
查看更多