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

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

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

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

Q&A

3回答

513閲覧

javascript for文 関数

sho0922

総合スコア1

JavaScript

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

0グッド

1クリップ

投稿2022/06/22 07:53

空白だった場合
購読する場合は、全て入力して下さい。と表示されるコードなのですが
分からない点がいくつかあるので教えてください

まず、lengthはformのエレメント数を参照するものだと思うのですが
何故このようにfor文の中に記載されているのでしょうか?

element[i]この文の意味を教えてください

function check(){
for(i=0; i<document.form1.length; i++){
if(document.form1.element[i].value == ""){
alert("購読する場合は、全て入力して下さい。");
return false;
}
}
return true;
}

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

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

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

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

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

Zuishin

2022/06/22 08:02 編集

https://teratail.com/questions/o9mpgz2lrzac0t わかったのかわからないのかさっぱり伝わりません。何も疑問点はありませんか? 無いのなら解決済みにして言われたことを丸暗記してください。 質問のほとんどが未解決です。
Lhankor_Mhy

2022/06/22 08:51

質問一覧を拝見しましたが、ほとんどの質問が放置されているようです。 意図してフリーライダーをしているならともかく、自覚がないのでしたら、質問を解決するようにされてはいかがでしょうか。
guest

回答3

0

例えばこんな感じ

javascript

1<script> 2function check(){ 3 console.log(document.form1.length); 4} 5 6</script> 7<form name="form1" id="f1"> 8<input> 9<input> 10<input> 11<input> 12</form> 13<hr> 14<input type="button" value="check" onclick="check()"> 15<input form="f1">

「document.form1」というのは古い書き方でformについたnameを元にformに含まれる構成要素を拾います。
各要素へのアクセスは連番で参照されるelementsプロパティを利用します。
構造的にform内になくても理論的に含まれる要素は対象になります
構造的な「document.querySelectorAll('form input').length」と数が異なることを確認ください

投稿2022/06/22 08:05

編集2022/06/22 08:07
yambejp

総合スコア114839

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

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

sho0922

2022/06/25 11:47

回答いただきありがとうございます ぼんやりとですが理解することができました
guest

0

「document.form1.length」は「form1」内の部品の数を返します。
参考:http://www.htmq.com/js/form_length.shtml

「document.form1.elements[]」は「form1」内の部品を配列要素で指定します。

javascript

1document.form1.elements[0]; // これはHTML上で「form1」内の一番最初の部品を扱う 2document.form1.elements[1]; // これはHTML上で「form1」内の二番目の部品を扱う

参考:https://developer.mozilla.org/ja/docs/Web/API/Document/forms

ですので、ご指定いただいたコードの説明を簡潔にするのであれば、「form1」内の全ての部品を検索して入力チェックを行っているということになります。

投稿2022/06/22 08:04

編集2022/06/22 08:06
Matsumon0104

総合スコア1005

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

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

sho0922

2022/06/25 11:47

回答いただきありがとうございます
guest

0

何故このようにfor文の中に記載されているのでしょうか?

ループの数を決める以上、いちばん素直に書けばこうなります(どこに書くべき、と考えていましたか?)。

element[i]この文の意味を教えてください

elementsMDN)の間違いではないでしょうか。

投稿2022/06/22 08:04

maisumakun

総合スコア145184

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問