大家好,我刚接触jscipt ,,,好吧,编程一般说实话,但学习慢慢用于个人用途。 我寻求指导如何将我的索引文件中的所有文本框(输入)放入列表容器中,在单击计算按钮之前循环检查它们是否为空。如果它们是空的,则通知用户哪一个是空的。 此外,有没有办法阻止用户只将文本输入文本框和数字。 背景:即时创建一个表单,要求所有字段都填充数字(以小时为单位),然后将从这些值生成图表。 香港专业教育学院将文件放在skydrive中,供人们下载以下链接。
我确实尝试了以下操作,但无论天气如何填充,我都会提醒我。
function checkInputsGenerateGraph()
{
if( $('#hutz-hoursInput').val() == ""||$('#hutz-weeksPerYearInput').val() == ""||$('#hutz-jobsPerWeekInput').val() == ""||$('#hutz-hourlyMachineRateInput').val() == ""||$('#hutz-maintneneceDowntimeInput').val() == ""||$('#hutz-scrapRateInput').val() == ""||$('#hutz-toolsPerJobInput').val() == ""||$('#hutz-timeToLoadToolInput').val() == ""||$('#hutz-timeToSetPartsInput').val() == "")
{
alert('One them is empty!!');
}
else
{
$("#hutz-graph").slideDown();
$("#hutz-lblImproveMyProcess").slideUp();
$("#hutz-hoursInput").slideUp();
$("#hutz-weeksPerYearInput").slideUp();
$("#hutz-jobsPerWeekInput").slideUp();
$("#hutz-ourlyMachineRateInput").slideUp();
$("#hutz-ntneneceDowntimeInput").slideUp();
$("#hutz-scrapRateInput").slideUp();
$("#hutz-toolsPerJobInput").slideUp();
$("#hutz-timeToLoadToolInput").slideUp();
$("#hutz-timeToSetPartsInput").slideUp();
$("#hutz-lblMachineDetails").slideUp();
$("#hutz-lblPartSetting").slideUp();
$("#hutzcurrencyPreferenceInput").slideUp();
createChart();
}
}
答案 0 :(得分:0)
首先,给所有必需元素一个公共类,例如我们称之为required
:
<input type="text" class="required" id="hutz-hoursInput" />
然后,当您调用checkInputsGenerateGraph()
函数时,您可以遍历required
元素并检查它们:
$('.required').each(function() {
if (this.value.length == 0) {
alert(this.id + ' is empty!');
}
});
您还可以执行以下操作以删除输入中的所有非数字:
$('.required').change(function() {
this.value = this.value.replace(/[^\d]+/, '');
});
<强> See it in action 强>
希望指出你正确的方向!
修改强>
这是一个完整的例子: -
function checkInputsGenerateGraph() {
var isValid = true;
$('.example').each(function() {
if (this.value.length == 0) {
alert(this.id + ' is empty!');
isValid = false;
}
});
if (isValid) {
alert('do calculations!');
}
}
因此,首先遍历所有元素,并确保它们都已填充。如果不是,请将isValid
设置为false,以便循环完成后,不会执行计算。