Angular JS

angular js フォームが空欄だった場合データがPOSTされない

  • このエントリーをはてなブックマークに追加
  • LINEで送る
AngularJSでWebシステム開発

あるフォームの値が空欄(初期値)だったとき、SUBMITさせない方法はよく書かれているけれど、
空欄でSUBMITしてもOKにしたい。

別にバリデーションしなければいい話なんだけど、何故かAngular JS + Ionicでは空欄のフォームは、何もなかったように(そもそも存在すらしないように)扱われてしまうので、PHP側で

Undefined index: 変数名 in 行数
なんてエラーが発生しちゃうんですね。
PHP側とては当然です。
Javascriptからこのデータが飛んで来るって想定して構えているのに、それがないんだから。

回避策というか、空欄なら空欄でポストしてくれないとこまる。

解決策はいくつか思いつく。PHP側で@(アットマーク)を付けてしまうのが一番簡単かな?エラー制御の命令です。

ただ、もとはといえばちゃんとデータが送れないのがそもそも問題なのです。
この時の解決策は、ng-initを使うことでした。
問題のコード

<input type="text" name="sum2" ng-model="send.Sum">

これでPOSTすると、ユーザが値を入力すればちゃんと send.Sumという入れ物に入って送られるのに、空欄だと入れ物自体が消滅しちゃう。

ということで解決すると

<input type="text" name="sum2" ng-model="send.Sum" ng-init="send.Sum=''">

とりあえずこれでちゃんと送信できた。正しい解決かはわからないけど、意図したとおりには動いたのでこれで良し

  • このエントリーをはてなブックマークに追加
  • LINEで送る

AngularJS+BootStrapでサロンカルテを作りました

【作品例 サロンカルテ】
サロンカルテはAngular JSとBootStrap3を使って開発されたWebクラウドシステムの1つです。
強力なデータバインド機能のおかげで、お客様のカルテデータをサーバから取得、ng-repeatを使うだけで簡単に画面へ出力できたり、BootStrapで手軽におしゃれな画面が実装できます

サロンカルテのホームページ