申请表要求在提交前一个单元格与其他单元格相等
Wanting Form requirement one cell to equal other cells prior to submit
我根本不懂JavaScript。我使用Jotform创建了一个基于web的表单,并附加了一大堆条件,因为我不知道如何做到这一点。把它改成了php,这样我就可以访问我的数据库了。无论如何这是一个员工考勤卡表格。我们有几个字段需要总时间。第一个字段是总工作小时数。然后进入作业1、作业2、作业3和作业4。在工作1中,它显示了该工作的总时长,工作2的总时数,工作3等。我正在寻找一个脚本,如果job1,2,3,4&5不等于他们最初输入的小时数,则显示错误。
Total Hours Worked = 8
Job1 Hours =3
Job2 Hours =5
JOb3 Hours =1
DISPLAY ERROR
Total Hours Worked = 8
Job1 Hours =1
Job2 Hours =4
Job3 Hours =2
Job4 Hours =1
ALLOW FORM TO SUBMIT
这是不是很复杂。
我懒洋洋地硬编码了作业的数量,但这符合您的要求。
<script type="text/javascript">
function checkHours() {
totalHours = Number(form.total.value);
realTotal = 0;
for (x = 1; x <= 4 /* hard-coded job count */; x++)
realTotal += Number(eval("form.job" + x + ".value"));
if (totalHours != realTotal) {
alert("Total hours does not match cumulative job hours");
return false;
}
}
</script>
<form name="form" method="post" onsubmit="return checkHours()">
<table>
<tr>
<td>Total Hours</td><td><input type="text" name="total"/></td>
</tr>
<tr>
<td>Job 1</td><td><input type="text" name="job1"/></td>
</tr>
<tr>
<td>Job 2</td><td><input type="text" name="job2"/></td>
</tr>
<tr>
<td>Job 3</td><td><input type="text" name="job3"/></td>
</tr>
<tr>
<td>Job 4</td><td><input type="text" name="job4"/></td>
</tr>
</table>
<input type="submit" value="Submit">
</form>
如果这是在错误的情况下:我的解决方案就足够了。如果是因为高度不可信的员工故意试图伪造工作时间:Bubbles是对的,你也应该用php检查一下。
理论上,这可以在javascript中完成,但会有点尴尬(也许问题更大,它会非常不安全——用户可以很容易地克服你设置的任何javascript块,而无效的表单可能会进入数据库)。所以,如果我是你,我会考虑纯在php中实现该需求;有一些方法可以返回带有提交值的表单,并在输入无效时显示错误消息。
然而,一旦服务器端验证工作正常,如果用户要提交的表单被发现无效,您可能仍然需要一些javascript来提醒用户。要做到这一点,它会变得有点复杂——可能需要一些jQuery。您所要做的要点是观察每个输入字段的更改(很可能使用更改),此时我将从每个输入中收集数据,看看是否全部匹配。如果没有,则可以显示一条警告消息,说明表单将不起作用。如果您是jQuery的新手,这将需要一些工作,但这肯定是可以做到的。
相关文章:
- 在 SlickGrid 中编辑后,根据不同列中的另一个单元格清除单元格
- 如何在表中找到下一个直接下载的单元格
- 当单元格内容由于forumula从另一个工作表编译数据而更改时发送电子邮件
- 申请表要求在提交前一个单元格与其他单元格相等
- Javascript动态表,每个单元格都有一个onmouse事件
- 每行仅突出显示一个单元格
- Google Apps 脚本,用于根据一个单元格的值对另一个单元格进行条件颜色格式设置
- 我的桌子有一个额外的单元格
- JQuery insertAfter();移动下一个表格单元格
- 只在表中突出显示一个单元格值
- 如何根据单元格中的值将一行从一个谷歌电子表格移动到另一个
- 在动态表格单元格跨度中单击时更新一个权重值
- 如何在另一个java脚本函数中访问java脚本中动态html表中单元格的动态赋值
- 当一个单元格被编辑时,是否有一个事件触发,但值没有'不要改变
- 我希望joint.js库读取我的JSON并将其显示为一个单元格:rect和circle
- JavaScript 创建一个随机表生成器并为单元格分配颜色
- 用JQuery在廉价的excel表格上标记最后一个单元格
- 如何创建一个每行列数未知的html表,对齐列,并为每个单元格/行指定一个id
- 将单元格的高度从一个表列表指定到另一个列表
- 电子表格中的单个动态模态/ JS(而不是每个单元格一个)