2013-01-21 79 views
0

嗨之前清空所有即時通訊新jscipt ,,,好了,節目一般是誠實的,但對於個人使用慢慢學習。 我尋求如何將我的索引文件中的所有文本框(輸入)放到列表容器中,通過循環來檢查它們是否爲空,然後單擊計算按鈕。如果它們是空的,則通知用戶哪一個是空的。 此外,有沒有辦法阻止用戶輸入文本到文本框和數字只。 背景:即時通訊創建一個表單,要求所有字段填充數字(以小時爲單位),然後從這些值生成一個圖表。 ive將文件放入skydrive中供人們下載,並使用下面的鏈接。如何檢查所有的文本框點擊計算

Index file

我曾嘗試以下,但不管天氣的這個通知我的texboxes都填入與否。

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

首先,給所有需要的元素的共同類,爲例子起見,我們會打電話給這個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,以便一旦循環完成,就不執行計算。

+0

非常感謝比利,我這樣做,但包括一個else(未否則如果)if語句說,如果他們被填充,然後但是,滑動的一切,顯示圖形,如果文本框的一個是空的警告會顯示哪個很棒,但圖表仍會顯示。我錯過了什麼嗎? – user1996641

+0

@ user1996641檢查出[小提琴我轉貼](http://jsfiddle.net/GkF4h/9/),你需要的循環完成後運行你的計算功能,否則將每次觸發值不爲空:) – billyonecan

+0

這是真棒,謝謝:) – user1996641

相關問題