ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

どのページを表示した際に、新規登録と修正・確認のどちらで動作しているのかのフラグを設定するか

新規登録と修正・確認のどちらで動作しているのかフラグをセッション変数に設定したくなりました。

新規登録の場合は、
初期ページ→説明ページ→入力ページ→入力確認ページ→登録完了ページ
という順番でページは遷移します。

修正・確認の場合は、
初期ページ→登録済一覧ページ→説明ページ→入力修正ページ→入力修正確認ページ→修正登録完了ページ
という順番でページは遷移します。

初期ページは共通で、初期ページで新規登録と修正・確認のどちらかを選びます。

共通するページで設定

共通するページは、初期ページと説明ページがあります。
初期ページを表示した時点では、新規登録と修正・確認のどちらで動作するのかわかりません。
説明ページで設定するには、前後のページから渡される値を用いて、新規登録と修正・確認のどちらかをフラグに設定します。

f:id:AJYA:20180722065224p:plain
unsplash-logoHelloquence

初期ページと登録済一覧ページで設定

初期ページは必ず表示されますが、登録済一覧ページは修正・確認の場合のみ表示されます。
この違いがあるので、初期ページを表示したら、必ず新規登録をフラグに設定します。
新規登録の場合、このまま説明ページへ進めば、新規登録のフラグで動作します。

修正・確認の場合、初期ページを表示したら、先に書いたように新規登録をフラグに設定しますが、登録済一覧ページを表示したら、必ず修正・確認でフラグを上書き設定します。
説明ページへ進めば、修正・確認のフラグで動作します。


前後のページから渡される値を用いて、新規登録と修正・確認のどちらかをフラグに設定することを考えていましたが、判定をするのが手間なので、別の方法がないかと考えました。
ページの遷移に注目したところ、修正・確認の場合しか表示されないページがあったので、このページでフラグを上書きすれば、判定の手間が不要であることに気がつけました。
少しでも楽にプログラミングができるように、考えていきたいです。

1週間の振り返り(2018/7/14〜2018/7/20)

シャトレーゼのアイスクリームです。
f:id:AJYA:20180721072602p:plain
しっかりあずきの味を感じられ、おいしかったです。

  • 2018/7/14(土)
    僕、妻、子ども、ママ友、ママ友の子どもの5人で、地区の夏祭りに行きました。
    子どもは同じ年齢の子どもと一緒に楽しんでいました。

ajya.hatenablog.jp

  • 2018/7/15(日)
    昼食をサイゼリヤで食べました。
    3人で6品頼んでも1,800円以内で収まってありがたいです。
  • 2018/7/16(月)
    ショッピングセンターのゲームコーナーで、妻と子どもがマリオカートで対戦しました。
    結果は子どもが1位、妻が2位でした。
    マリオカートは子どもも遊べて楽しいゲームです。
  • 2018/7/17(火)
    確認用の画面で、システムに入力された単語数の表示をしていますが、改行を入れると見た目上別々に表示していて、単語として分かれているように見えたので、改行を削除して表示するように修正しました。
    長い文章を入力していると何単語入力したのか数えるのが手間で気にならないかもしれませんが、テストで数語しかいれていないと気になります。
  • 2018/7/18(水)
    お客さんからシステムの作成を依頼される際に書類に記入をしてもらいますが、手抜きをされて送られてきました。
    代行手数料をもらえるなら代行しますが、貰えないので受け付けず、出し直しをお願いするのみです。
  • 2018/7/19(木)
    お客さんから急ぎでの作成を依頼されているシステムがあり、連日早くして欲しいと連絡があります。
    こちらは何度も事前に必要な日数を連絡してあって、発注をしてこなかったのはお客さんの責任なのに、連日せかす連絡をしてくるのは、二度と引き受けたくなくなります。
  • 2017/7/20(金)
    質問してもなかなか返事がもらえない案件についての回答が届いたので確認したところ、一部だけの回答でした。
    既に2週間近く経っているのに回答がないので、システムの作成完了がいつになるのか見通せないとお客さんには回答をするしかありません。


Webサービスで遅延、エラーが継続している件は、今週も進捗がありませんでした。
お客さんからの依頼を受けてこちらに依頼をしてきている会社は、もう少し情報を出すようにしてほしいです。

JavaScript:val()メソッドを使わないでラジオボタンがチェックされているか判定する方法はないのか?

以前の記事にも書きましたが、JavaScriptラジオボタンが選ばれているか取得するには、jQueryを使う場合、

if (!$("input:radio[name='check1']:checked").val()) {
    alert("チェックされていません");
}

var isCheck1 = $("input:radio[name='check1']:checked").val();
if (isConflict === undefined) {
    alert("チェックされていません");
}

としなければなりません。
ajya.hatenablog.jp

f:id:AJYA:20180720055727p:plain
unsplash-logoChristopher Robin Ebbinghaus

他の方法はないのか?

val()メソッドを使っているのが違和感を感じたので、val()メソッドを使わない方法を改めて探してみました。
探した結果,
$("セレクタ").prop("checked")
とすればチェックを判定できるとあったのですが、サンプルコードまで確認すると、
$("#radio01:checked").prop("checked");
となっていて、ラジオボタン毎にIDを割り振っていました。


ラジオボタンのいずれかがチェックされているか判定する方法は、これまで通りで変わらないということがわかりました。