質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • JavaScript

    16371questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

【Javascript】特定の文字列の数を数える方法

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 366

yfhungry

score 2

 前提・実現したいこと

お世話になります。初心者です。
出勤簿を作っており、プルダウンで出勤、振休、有休を選べるようになっていて、
出勤を選ぶと「s」、振休を選ぶと「f」、有休を選ぶと「y」とデータベース上に
登録されるようにしています。(このs,f,yは変更可能です)
出勤簿の中にある「s」、「f」、「y」の出現した回数をJavascriptで数えて、
「s」の数をshukkinday、「f」の数をFurikyuday、「y」の数をYukyudayと
名付けられた指定のフィールドに返したいのですが、どのように書いたらいいでしょうか。

 発生している問題・エラーメッセージ

 該当のソースコード

Javascript

 試したこと

質問以外の部分の記述もありますが、以下のように書いてみました。
var の後はフォーム内の特定のフィールド名です。

function calDay() {

var shukkin = 0;
var kyushutsu = 0;
var yukyu = 0;
var kekkin = 0;
var day = 0;
var hour = 0;
var week = 0;
var kubun = 0;
var shukkinday = 0;
var Furikyuday = 0;
var Yukyuday = 0;

var tbl = XWEB.getXPObject('group1');

for(var i=0; i < 16; i++) {
day = timeToNum(XWEB.getXPObject('dayfield1_'+i).getValue());
hour = timeToNum(XWEB.getXPObject('date1_'+i).getValue());
week = XWEB.getXPObject('weekfield1_'+i).getValue();
kubun = XWEB.getXPObject('combobox1_'+i).getValue();
if(hour!=0) shukkin++;
if(hour!=0 && (week==0 || week==6)) kyushutsu++;
if(kubun!=0) yukyu += Number(kubun);
if(day!='' && hour==0 && week!=0 && week!=6 && kubun==0) kekkin++;
day = timeToNum(XWEB.getXPObject('dayfield2_'+i).getValue());
hour = timeToNum(XWEB.getXPObject('date2_'+i).getValue());
week = XWEB.getXPObject('weekfield2_'+i).getValue();
kubun = XWEB.getXPObject('combobox2_'+i).getValue();
if(hour!=0) shukkin++;
if(hour!=0 && (week==0 || week==6)) kyushutsu++;
if(kubun!=0) yukyu += Number(kubun);
if(day!='' && hour==0 && week!=0 && week!=6 && kubun==0) kekkin++;
}
XWEB.getXPObject('shukkin').setValue(shukkin);
XWEB.getXPObject('kyushutsu').setValue(kyushutsu);
XWEB.getXPObject('yukyu').setValue(yukyu);
XWEB.getXPObject('kekkin').setValue(kekkin);
}

 補足情報(FW/ツールのバージョンなど)

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • kei344

    2018/05/27 16:24

    ご自身で試されたコードを質問文に追記し、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。

    キャンセル

  • kei344

    2018/05/27 17:31

    HTMLも追記してください。質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。また、XWEBと言うのはライブラリでしょうか?プラグイン/ライブラリは公式配布サイトのURLを質問文に追記ください。(URLにはリンクを張ることができます)

    キャンセル

  • mts10806

    2018/05/27 21:03

    現在のコードで起きている問題は何でしょうか? https://teratail.com/help/question-tips#questionTips3-4

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    JavaScriptの時刻を更新したい

    下記のコードは時刻を取っているのですがこれをデジタル時計みたいにほっておいても時間が変わっているという風にするにはどうすればいいですか? <!doctype html> <html

  • 解決済

    javascriptのsetTimeoutを使って表示したい

    <!doctype html> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=devic

  • 受付中

    fullCalendar

    今、学校時間割カレンダーと言うカレンダーを作っています。 (カレンダーの日付をクリックしたら時間割設定画面に飛び、その曜日の時間割を設定する) 現在、カレンダーを表示して日付をク

  • 解決済

    GASの書き方が冗長なので簡素なものになるのか見てもらいたいです

    やりたいこと Googleスプレッドシートにて作成した日別のスケジュールをGoogle Calendarへイベント追加するスクリプトを組みました。 javascriptは触り始

  • 解決済

    javascriptでその日の日付に応じたコンテンツだけを表示する

    javascriptに関しての非常に初歩的な質問です。 1つのHTMLファイル内に、1年365日分のコンテンツを用意し、日付に応じてその日のコンテンツだけを表示させるようにした

  • 解決済

    範囲を表すクラス名について

    前提・実現したいこと 二つの範囲を表すクラスがあり、名付けに困っています。 一つ目のクラスは、最大の値を示す max と最小の値を示す min というプロパティを持っています。

  • 解決済

    jquery カウントダウンタイマー

    ネットで調べた以下のコードをカスタマイズしていますがうまく動かなくて困っています。 変更したい点は 指定した日時に向けてカウントダウンする ↓ ページにアクセスした時点から10

  • 解決済

    指定日が第何週目かを返したい

     前提・実現したいこと 53週目の追加とうるう年からずれる週を直したい。 たとえば表示週テストにて「console.log(schedule(new Date(2022,1,21)

同じタグがついた質問を見る

  • JavaScript

    16371questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。