【发布时间】:2019-06-13 19:45:15
【问题描述】:
我正在创建一个表单,该表单将有多个项目可供选择并签入(添加/增量)和签出(减/减),它仅在笔记本电脑变量等于 1 时才有效。我想设置一个项目的总量,然后他们选择的任何选项都会增加或减少与该项目关联的变量。我也想不出一种方法来确保每次表单关闭并再次打开时变量都不会重置。
function updateCount (form) {
//need to figure out way for count to not reset to total when closing
form
//only works when set to 1
var laptop=1;
if (form.option1.checked && form.optionin.checked) {
laptop++;
alert ("Your response has been recorded");
}
if (form.option1.checked && form.optionout.checked) {
laptop--;
alert ("Your response has been recorded");
}
if (form.option1.checked && form.optionout.checked && laptop===0) {
alert ("Item currently unavailable, choose another item");
}}
<h1>CS Equipment Renatal Form</h1>
<form>
<!--top of form with name and line break for text, don't need
anything with the Name: -->
Name:<br>
<!--creating the variable type for textfield and the name of it which
is fullname-->
<input type="text" name="fullname"><br>
<br>
<!--email textfield with line break after meaning new line-->
OU Email:<br>
<input type="email" name="ouemail"><br>
<br>
<!--doing the checkboxes for rental types with id since the id is
used in the script -->
Equipment Rental Type<br>
Laptop <input type="checkbox" name="option1" value="laptop"
id="option1"><br>
Tablet <input type="checkbox" name="option2" value="tablet"
id="option2"><br>
Monitor <input type="checkbox" name="option3" value="monitor"
id="option3"><br>
Camera <input type="checkbox" name="option4" value="camera"
id="option4"><br>
<br>
<!--doing checkboxes for checkout and check with id because its used
in script-->
Select One<br>
Check In <input type="checkbox" name="optionin" value="checkIn"
id="checkOut"><br>
Check Out <input type="checkbox" name="optionout" value="checkOut"
id="checkIn"><br>
<br>
<!--adding submit button and associating it with script function-->
<input type="submit" name="submit" value="submit"
onClick="updateCount(this.form)">
</form>
【问题讨论】:
-
将按钮类型更改为“按钮”
-
您是 Web 开发新手吗?因为如果这是您的实际代码,并且您想要跟踪签出的笔记本电脑的数量,那么您还需要学习服务器端开发,然后才能构建它。如果您只需要在一台计算机上工作,并且不需要从任何其他计算机访问数据,则可以使用本地存储来存储笔记本电脑的数量。此外,您还需要重构代码,因为对每个表单选项使用三个
if语句是一个糟糕且不可维护的解决方案。 -
form.option1不是访问复选框的有效方式。
标签: javascript html forms counter