单击“计算”之前,如何检查所有文本框是否为空

时间:2013-01-21 10:13:23

标签: javascript

大家好,我刚接触jscipt ,,,好吧,编程一般说实话,但学习慢慢用于个人用途。 我寻求指导如何将我的索引文件中的所有文本框(输入)放入列表容器中,在单击计算按钮之前循环检查它们是否为空。如果它们是空的,则通知用户哪一个是空的。 此外,有没有办法阻止用户只将文本输入文本框和数字。 背景:即时创建一个表单,要求所有字段都填充数字(以小时为单位),然后将从这些值生成图表。 香港专业教育学院将文件放在skydrive中,供人们下载以下链接。

Index file

我确实尝试了以下操作,但无论天气如何填充,我都会提醒我。

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();                      
}
}

1 个答案:

答案 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,以便循环完成后,不会执行计算。