我有一个表单,它将用户定义的名称和电子邮件地址写入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