0

こんにちは、jsciptは初めてですが、正直に言うと、プログラミング全般ですが、個人的な使用のためにゆっくりと学習しています。インデックスファイル内のすべてのテキストボックス(入力)をリストコンテナに配置し、それらをループして空かどうかを確認してから、計算ボタンをクリックする方法についてのガイドを求めています。それらが空の場合は、どちらが空であるかをユーザーに通知します。また、ユーザーがテキストボックスと数字のみにテキストを入力できないようにする方法はありますか。背景:すべてのフィールドに数値(時間単位)を入力する必要があるフォームを作成すると、それらの値からグラフが生成されます。iveはファイルをskydriveに配置し、以下のリンクからダウンロードできるようにしました。

インデックスファイル

私は次のことを試しましたが、これは、天気に関係なく、texboxが実装されているかどうかに関係なく警告を発します。

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

1 に答える 1

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]+/, '');
});

実際に見てください

それがあなたを正しい方向に向けることを願っています!

編集

完全な例を次に示します。-

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!');   
  }
}

したがって、最初にすべての要素をループして、すべての要素が入力されていることを確認します。そうでない場合は、isValidfalseに設定して、ループが完了すると計算が実行されないようにします。

于 2013-01-21T11:21:07.390 に答える