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

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

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

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

Q&A

解決済

3回答

1509閲覧

javascript での登録フォームについての質問

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2017/05/23 15:58

編集2017/05/23 16:43
<script> function check(){ var message=""; var kk; if(document.cancel.i.value==""){ message +="name未入力\n"; } if(document.cancel.j.value==""){ message +="password未入力\n"; } for(kk=0; kk<1; ++kk){ if(document.cancel.a[kk].selected==true){ message +="prefecture未入力\n"; } } if(document.cancel.k[0].checked == false &&cancel.k[1].checked== false){ message += "sex未入力\n"; } if(document.cancel.jj.value==""){ message +="address未入力\n"; } if(document.cancel.ii.value==""){ message +="message未入力\n"; } if(!message==""){ alert(message); return false; } } </script>

これは、登録フォームのスクリプトの文で ここまではできたのですが パスワードが6文字以下だとalertで6文字以上にしてくださいと出したいです…
一度、

if(document.cancel.j.value>1 && document.cancel.j.value<6){ alert("6文字以上にしてください") }

をいろいろな場所に入れてみたんですけど 実行できず… 入れたところが間違ってたのかもわからず… どなたか教えてもらえませんか…?

<form method="post" name="cancel" onSubmit="return check()"> <p><label>name:<input type="text" name="i" id="uname"></label></p> <p><label>password:<input type="password" name="j" size="20"></label><p> <p> <label>都道府県:</label> <select id="prefecture" name="kk"> <option selected value="todohuken">都道府県</option> <option value="ibaraki">茨城県</option> <option value="tochigi">栃木県</option> <option value="gunma">群馬県</option> <option value="saitama">埼玉県</option> <option value="tiba">千葉県</option> <option value="tokyo">東京都</option> <option value="kanagawa">神奈川県</option> </select> </p> <fieldset><legend>sex</legend> <input type="radio" name="k" value="Male" id="male"><label for="male">男性</label> <input type="radio" name="k" value="Female" id="female"><label for="female">女性</label> </fieldset> <label>address:<input type="email" name="jj" id="email"></label> <p> <label for="demand">お問い合わせ内容:</label><br> <textarea id="demand" name="ii" cols="40" rows="4" maxlength="20"></textarea> </p> <input type="submit" value="送信"></p> </form>

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2017/05/23 16:31

form部分のHTMLも提示してください。また、Terapadはエディタです。こういう場合はOSとブラウザとバージョンを書かれたほうが良いと思います。
退会済みユーザー

退会済みユーザー

2017/05/23 16:43

HTML追加しました!!
guest

回答3

0

document.cancel.j.value -> document.cancel.j.length
(誤) .value (正) .length

挿入箇所は「password未入力」の判断の後が適当かと。

投稿2017/05/23 16:51

AkiraPenguin

総合スコア51

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/24 10:12

if文の閉じかっこのあとでしょうか?? それとも if文の中でしょうか??
guest

0

ベストアンサー

JavaScript

1// document.cancel.j.value>1 && document.cancel.j.value<6 2document.cancel.j.value.length>1 && document.cancel.j.value.length<6

とりあえずこう書き換えたら動きますが、0文字のときはエラーが出ません。
なので、6文字以下なら必ずエラーにすれば0文字でもエラーが出ます。

JavaScript

1// document.cancel.j.value>1 && document.cancel.j.value<6 2document.cancel.j.value.length<6 3```**動くサンプル:**[https://jsfiddle.net/hc7paytr/](https://jsfiddle.net/hc7paytr/)

投稿2017/05/23 17:02

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/23 17:17

ということは、 if(document.cancel.j.value.length<6){ alert("6文字以上にしてください"); } とすればいいんですか??  
kei344

2017/05/23 17:30

とりあえず動かしてから質問してください。
退会済みユーザー

退会済みユーザー

2017/05/24 09:46

if(document.cancel.j.value==""){ message +="password未入力\n"; } の後に 入れてみたけれどまったく動きませんでした…
kei344

2017/05/24 09:59

「動くサンプル」に書かれたコードに「document.cancel.j.value.length<6」を追加したものがあるので、みてください。それ以外のエラーがあるのでうまく動きませんが。 エラーはデベロッパーツールで確認してみてください。 http://eng-entrance.com/javascript-display-error
退会済みユーザー

退会済みユーザー

2017/05/24 10:09

動くサンプルとは回答のとこのURLですよね?? そこへ飛んでも何も表示されてなくて どこ押したらいいかわからないです…
kei344

2017/05/24 10:29

ページが開かない?404に行きますか? jsfiddle.net が禁止URLにでもなっているのでしょうか。それでは見られませんね。そのページにはあなたが提示したHTMLとJavaScriptを使ってフォームが表示されています。
退会済みユーザー

退会済みユーザー

2017/05/24 12:30

その追加したところをここに表記するのは難しいですよね??
kei344

2017/05/24 13:01

これを「var kk;」の後に入れただけです。 if(document.cancel.j.value.length<6){ alert("6文字以上にしてください") } そもそも他のエラーを直さないとおもったように機能しないですよ。
退会済みユーザー

退会済みユーザー

2017/05/24 14:09

ありがとうございます やってみたら動きました
guest

0

文字列の長さは、文字列自身が情報を持っているので、訊いてみるとわかります

javascript

1'aaa'.length // => 3

簡単に調べてみましたが、何か参考になれば幸いです

Links

投稿2017/05/23 16:54

gouf

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問