ホームページ ウェブフロントエンド jsチュートリアル JavaScript DOM学習 第5章 Forms入門_基礎知識

JavaScript DOM学習 第5章 Forms入門_基礎知識

May 16, 2016 pm 06:34 PM
dom javascript

各フォームの検出項目が異なるため、汎用コードを与えることはできません。この章で紹介した要素を使用して独自の検出関数を構築する必要があります。次のページに例を示しますので、ご参照ください。

この章では、まず JavaScript を使用してフォームを検出する場合の制限について説明し、次に送信時ハンドラーについて説明し、次にフォーム自体のメソッドとプロパティについて説明します。最後はフォーム要素にアクセスする方法です。

フォーム使用時のエラーと解決策を紹介する Jeff Howden による記事もこちらにあります。 フォームと JavaScript の調和
制限事項
まず、ユーザーがフォームを送信したときに JavaScript 検出コードが何を行うかを理解する必要があります。
1 , JavaScript がフォームを検出すると、次のようになります。コードにエラーが見つかった場合、送信は一時停止され、ユーザーには正しいデータを入力するよう警告が表示されます。
2. エラーがない場合、または JavaScript がオフになっている場合、フォームのコンテンツはサーバーに送信されます。
3. サーバー側スクリプトがエラーを検出すると、エラー情報が返されます。この場合、ユーザーは再度送信する前にフォームに戻ってデータを入力する必要があります。
4. エラーが発生しない場合、サーバーは必要な作業を完了し、感謝のメッセージを表示します。
ご覧のとおり、データは送信プロセス中に 2 回チェックされます。1 回目は JavaScript によって、もう 1 回目はサーバーによってチェックされます。サーバー側の検出は常に可能であり、信頼性が高くなります。 JavaScript の検出は、ユーザーが JavaScript 機能をオンにした場合にのみ役立ちます。サーバーは常に信頼性が高く、ユーザーが使用するブラウザとは関係がないのに、なぜ JavaScript の検出が必要なのでしょうか。
JavaScript 検出は、サーバーに送信される前にデータを検出できるため、サーバー側の検出を効果的に補完します。これにより、ユーザは、戻るボタンを使用してフォームの内容を戻って修正する必要がなくなり、また、間違った内容を見つけるのも非常に面倒になります。したがって、JavaScript の検出は、サーバー側の検出よりもユーザー エクスペリエンスに役立ちます。
つまり、JavaScript は完全な検出メカニズムではありませんが、サーバー側の補足と使いやすさとしては依然として良い選択です。したがって、ユーザー エクスペリエンスの要件を満たすだけでなく、プログラムのセキュリティも確保できる、これら 2 つの検出メカニズムを使用することをお勧めします。
onsubmit
JavaScript を使用してフォームを検出する場合、最初に行う必要があるのは、onsubmit のイベント ハンドラーを作成することです。このプログラムは、ユーザーがフォームを送信すると実行されます。このプログラムは、特定のフィールドに値が入力されているかどうか、それらのチェックボックスの少なくとも 1 つが選択されているかどうか、またはその他チェックする必要があるものをチェックします。
コードは次のとおりです:

コードをコピーします コードは次のとおりです:



checkscript() は、このプログラムの名前です。このコードは true または false を返す必要があります。 false が返された場合、フォームは送信されず、true または false が返されたかどうかに関係なく、コードの実行が停止します。
生成されたコードは次のとおりです:
コードをコピーします コードは次のとおりです:

function checkscript( ) {
if (値が何かである/何かではない) {
// 何かが間違っています
alter('問題のユーザーに警告')
return false; 🎜>}
else(別の値は何かではない){
ここでは、すべてが大丈夫です🎜>}


もちろん、多数のフォーム項目または多数のラジオ ボタン ボックスを検出する必要がある場合、このコードは非常に複雑に記述することができます。基本的な考え方は次のとおりです。フォーム内のチェックが必要なすべての要素を繰り返し処理し、エラーが見つかった場合は false を返し、コードの実行が停止し、フォームは送信されません。
エラーを見つけた場合は、ユーザーに警告する必要があります。アラート ボックスを使用することもできますが、現在のほとんどの方法では、エラー メッセージを生成し、それをエラー エントリに追加します。
最後にのみ、すべての要素をチェックしてエラーが見つからなかった場合は true を返し、フォームが送信されます。
フォームのメソッドとプロパティ
JavaScript には、フォームを処理するためのいくつかの組み込みメソッドとプロパティもあります。そのうち 3 つはより重要です:
submit() メソッドを使用してフォームを送信できます。ページ上の最初のフォームを送信するには、次のように記述します:
コードをコピー コードは次のとおりです:
document.forms[ 0].submit()
ユーザーが JavaScript を使用してフォームを送信すると、フォームのイベント ハンドラーが機能しないことに注意してください。
フォームをリセットするには、次のことができます:
[code] document.forms[0].reset()
テストせずに、このメソッドを使用すると、フォームのイベント ハンドラーがリセットされると仮定します。実行されません。
最後に、フォームの ACTION 項目を変更できます:
[code] document.forms[0].action = 'the_other_script.pl';
これは、フォームを他のユーザーに送信する必要がある場合に使用されます。この方法は非常に便利です。
フォーム要素へのアクセス
フォーム有効性検出では、ユーザーが入力した内容を知るためにフォーム要素へのアクセスが必要です。したがって、最初にレベル 0 DOM に基づいてフォームにアクセスする必要があります。一般的には次のように記述されます:
[code] document.forms[number].elements[number]
ページが読み込まれると、JavaScript はページ上のすべてのフォームを保存するためのフォーム配列を生成します。したがって、最初のフォームは Forms[0]、2 番目のフォームは Forms[1] というようになります。
JavaScript は、フォーム内の各要素も配列に保存します。最初の要素は elements[0] で、2 番目の要素は elements[1] です。すべての input、select、および textarea は 1 つの要素です。
場合によっては、フォームと要素の名前を使用した方がよい場合があります。 HTML では、次のような各要素に名前を付ける必要があります。
[code] 3 5
[code] document.personal.name 2 document.personal.address 3 document.personal.city
name を使用する利点は、ページ上のすべての要素の順序を乱すことができることです。コードは引き続き実行できますが、配列が使用されている場合は実行できません。たとえば、上の例では都市入力ボックスは document.forms[0].elements[2] ですが、最初に入力すると document.forms[0].element[0] になります。コードを変更します。
値の検出
もちろん、最も重要なことは、ユーザーが入力した値、または選択したチェック ボックスを検出することです。場合によっては、フォームに他の情報も入力したいことがあります。
次の小さなコード スニペットは、フォーム内の要素にアクセスするのに役立ちます。これは、ユーザー入力を user_input 変数に保存するだけです。その後、有効性を確認できます。
テキスト、テキストエリア、隠しフィールド
は非常に単純です:
[code] user_input = document.forms[0].text.value
ここで、text はテキスト ボックス、テキストエリア、または非表示です。フィールド名。 value 属性はこれらの要素のテキストを与え、user_input に保存されます。
直接書くこともできます:

コードをコピーします コードは次のとおりです:
ドキュメント。 forms[0].text.value = '新しい値';
ボックスを選択
これも非常に簡単です:

🎜> コードは次のとおりです: user_input = document.forms[0].select.value;
選択した項目を変更するには、selectedIndex を変更する必要があります。例:


コードをコピー コードは次のとおりです: document.forms[0].select .selectedIndex = 2;
3 番目のオプションが選択されました。
古いブラウザ
古いブラウザでは、選択ボックスに value 属性がありません。
コードをコピーコードは次のとおりです:

var selectBox = document.forms[0].select;
user_input = selectBox.options[selectBox.selectedIndex].value

最初に検索 ユーザーが選択した項目が表示されます。 document.forms[0].select.selectedIndex は、選択された項目の番号を示します。 JavaScript は、すべての選択ボックスを含むオプション配列を作成しました。したがって、この配列を通じてユーザーが何を選択したかを知ることができ、それを user_input に保存できます。
チェックボックス
チェックボックスは少し異なります。その値はすでにわかっていますが、ユーザーがそれを選択したかどうかを知る必要があります。チェックされた属性がそれを教えてくれます。 true と false の 2 つの値があります。
次に:
コードをコピーします コードは次のとおりです:

if (document .forms[0 ].checkbox.checked) {
user_input = document.forms[0].checkbox.name
}

checkbox はチェックボックスの名前です。チェックボックスが選択されている場合、名前 (またはオプションで値) を取得し、それを user_input に渡します。
チェックボックスを選択すると、次のことができます:
コードをコピー コードは次のとおりです:
document.forms[ 0 ].checkbox.checked = true

ラジオ ボックス
残念ながら、どのラジオ ボックスがチェックされているかを一度に確認することはできません。トラバース後には、checked 属性が true であるアイテムのみを見つけることができます。
コードをコピー コードは次のとおりです。

for (i=0;iif (document.forms[0].radios[i].checked) {
user_input = document.forms[0].radios[i]. value;
}
}

radios は、このラジオ ボタンのグループの名前です。
document.forms[0].radios はすべてのラジオ ボタン ボックスを含む配列であり、ループによって、checked 属性が true かどうかがチェックされることに注意してください。その場合は、user_input を渡します。
document.forms[0].radios.length は、すべてのラジオ ボタン ボックスの数を返します。
ラジオ ボタンが選択されている場合、チェックされた値を true に設定できます:
コードをコピー コードは次のとおりです。 :
document.forms[0].radios[i].checked = true;

翻訳アドレス: http://www.quirksmode.org/js/forms.html
転載 以下の情報をお守りください
著者: Beiyu (tw:@rehawk)
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 Dec 17, 2023 am 08:41 AM

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。

See all articles