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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

4141閲覧

ラジオボタンが未選択の場合のエラー文表示

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/09/30 04:34

タイトル通りなのですが、ラジオボタンが未選択の状態で送信された場合エラー文を表示させたいです。
また、エラーがある場合はそのまま画面遷移をせず、エラーがなかったら画面遷移をするという流れにしたいです。
HTMLもJavaScriptも初心者で特にJavaScriptはネットで調べつつ作ったため、文法もめちゃくちゃだと思いますが宜しくお願いいたします。
ちなみに現時点ではボタンを全てちゃんと選択していようが画面遷移すらしませんでした。
どこがダメなのかすら分からないので皆様の力をお借りしたいです。

HTML

1<form name="question"> 2<p class="subtl">〜〜〜〜</p> <!-- 質問内容 --> 3<p class="radiobtn"><input type="radio" name="set1" var="01">とても良い</p><br> 4<p class="radiobtn"><input type="radio" name="set1" var="02">良い</p><br> 5<p class="radiobtn"><input type="radio" name="set1" var="03">普通</p><br> 6<p class="radiobtn"><input type="radio" name="set1" var="04">悪い</p><br> 7<p class="radiobtn"><input type="radio" name="set1" var="05">とても悪い</p><br> 8 9<p class="err-text" id="1">選択してください。</p> 10</form> 11 12<form name="question"> 13<p class="subtl">〜〜〜〜</p> <!-- 質問内容 --> 14<p class="radiobtn"><input type="radio" name="set2" var="01">とても良い</p><br> 15<p class="radiobtn"><input type="radio" name="set2" var="02">良い</p><br> 16<p class="radiobtn"><input type="radio" name="set2" var="03">普通</p><br> 17<p class="radiobtn"><input type="radio" name="set2" var="04">悪い</p><br> 18<p class="radiobtn"><input type="radio" name="set2" var="05">とても悪い</p><br> 19 20<p class="err-text" id="2">選択してください。</p> 21</form> 22 23<!-- set11まで繰り返される --> 24 25<p class="btn"><input type="image" src="./img/btn01.jpg" onclick="return funcCheck()"></p>

css

1.err-text{ 2 display: none; 3}

JavaScript

1function funcCheck(){ 2 var flag = false; //チェックされているか判定フラグ 3 var errno = []; //エラー文を表示するIDの配列 4 var c = 0; //errnoの添字・カウント 5 for(var s=1; s<=11; s++){ //set11個分繰り返す 6 for(var i=0; i<5; i++){ //set1個につきラジオボタン5個の繰り返し 7 8 if(document.question.set+s[i].checked){ //チェックがついているか判定 9 flag=true; //チェックがついていたら 10 } 11 } 12 13 if(!flag){ //チェックがついていなかった場合 14 errno[c]=s; //何問目の質問が選択されていなかったか取得する 15 c=c++; //errnoのカウントを増やす 16 } 17 } 18 19 if(c=0){ //errnoが空だったら 20 location.href = 'http://yahoo.co.jp'; //そのまま画面遷移 21 }else{ //空じゃなかったら 22 for(c; c<0; c--){ //erronoのカウント分繰り返す 23 var e = 0; //エラー文を表示させるidを入れる 24 e = errno[c]; //idを代入 25 let ele = getElementById(e); //idの内容を取得 26 const displayOriginal = ele.style.display; //該当のidのエラー文のdisplay設定を取得 27 ele.style.display='inline-block'; //エラー文をinline-blockで表示させる 28 } 29 } 30}

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

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

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

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

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

m.ts10806

2020/09/30 04:41

まず、自身が書いたコードを理解するところからでは。
guest

回答1

0

ベストアンサー

気になるところは1つだけではないですが、

if(c=0){ //errnoが空だったら

=は代入
==は比較

HTMLもJavaScriptも初心者で特にJavaScriptはネットで調べつつ作ったため、文法もめちゃくちゃだと思いますが宜しくお願いいたします。

探してきたコードをコピペするのが悪いとは言いませんが、
自身が理解できてないコードをそのまま使い続けるのはリスクしかありません。
理解できているものを使うようにしましょう。

投稿2020/09/30 04:43

m.ts10806

総合スコア80850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問