JavaScript フォーム スクリプトの概要
人々が最初に JavaScript を使い始めたとき、主な目的の 1 つはフォームの検証と、フォームの処理に対するサーバーの責任を共有することでした。一般的な送信方法のほとんどは ajax を使用しますが、フォームを理解することは ajax 方法にも非常に役立ちます。したがって、フォームを過小評価しないでください。
1. フォームの基礎知識
HTMLではフォームは要素で表現されますが、JavaScriptではフォームはHTMLFormElement型に相当します。
表 HTMLFormElement の属性とメソッド
属性またはメソッド | 関数の説明 |
---|---|
acceptCharset | サーバーが処理できる文字セット。HTML の accept-charset 機能に相当します。 |
リクエストされた URL を受け取ります。HTML の action 属性に相当します。 | |
フォーム内のすべてのコントロールのコレクション (HTMLCollection) | |
リクエストのエンコード タイプ。 HTML enctype 属性 | |
フォーム内のコントロールの数 | |
HTML メソッド属性に相当する HTTP リクエストのタイプ | |
の名前フォーム; HTML の name 属性に相当します | |
すべてのフォームフィールドをデフォルト値にリセットします | |
フォームを送信します | |
リクエストの送信とレスポンスの受信 HTML のターゲット機能と同等 |
関数の説明 | |
---|---|
現在のフィールドが無効かどうかを示すブール値 | |
現在のフィールドが保存されているフォームへのポインター所属; 読み取り専用 | |
現在のフィールドの名前 | |
現在のフィールドが読み取り専用かどうかを示すブール値 | |
切り替え(タブ)を示します現在のフィールドのシーケンス番号 | |
現在のフィールドのタイプ | |
サーバーに送信されている現在のフィールドの値。ファイルフィールドの場合、この属性は読み取り専用であり、コンピューター上のファイルのパスが含まれます |
属性和方法 | 作用说明 |
---|---|
add(newOption, relOption) | 向控件中插入新项,其位置在相关项relOption之前 |
multiple | 是否支持多项选择 |
options | 所有项集合 |
remove(index) | 移除给定位置的选项 |
selectIndex | 基于0的选中项的索引,如果没有选中项,则该值为-1;对于支持多选的控件,只保存选中项的第一项索引 |
size | 选择框中可见的行数 |
HTMLOptionElement的属性和方法:
属性和方法 | 作用说明 |
---|---|
index | 当前选项在options集合中的索引 |
label | 当前选项的标签 |
selected | 当前选项是否被选中 |
text | 选项的文本 |
value | 选项的值 |
<form method="post" action="" id="myForm"> <label for="selLocation">Where do you want to live?</label> <select name="location" id="selLocation"> <option value="Sunnyvale, CA">Sunnyvale</option> <option value="Los Angeles, CA">Los Angeles</option> <option value="Mountain View, CA">Mountain View</option> <option value="">China</option> <option>Australia</option> </select> </form>12345678910
// 选择上述每个选项后,value值分别为:["Sunnyvale, CA", "Los Angeles, CA", "Mountain View, CA", "", "Australia"] document.getElementById("selLocation").value; // 获得第一个选项的文本和值 document.forms[0].elements["location"].options[0].text;document.forms[0].elements["location"].options[0].value;12345
(1)展示规则:有value属性且值不为空,则展示value属性的值;否则展示该项的文本值。
(2)value值规则:有value属性(不管是否为空),获得的都是对应value属性的值;否则为该项文本值。
1. 选择选项
function getSelectedOptions(selectbox){ var result = new Array(); var option = null; for (var i=0, len=selectbox.options.length; i < len; i++){ option = selectbox.options[i]; if (option.selected){ result.push(option); } } return result; }12345678910111213
2. 添加选项
(1)DOM方式
var newOption = document.createElement("option");newOption.appendChild(document.createTextNode("Option text"));newOption.setAttribute("value", "Option value");selectbox.appendChild(newOption);1234
(2)Option构造函数
var newOption = new Option("Option text", "Option value"); selectbox.appendChild(newOption);12
(3)选择框的add方法(最佳方案)
var newOption = new Option("Option text", "Option value"); selectbox.add(newOption, undefined); // 插入到最后12
3. 移除选项
(1)DOM方
selectbox.removeChild(selectbox.options[0]);1
(2)选择框的remov
selectbox.remove(0);1
(3)将相应的选项设置为null(遗留机制)
selectbox.options[0] = null;1
4. 移动和重排选项
DOM的appendChild方法(只能添加到最后),如果appendChild传入一个文档中已有的元素,那么就会先从该元素的父节点中移除它,再把它添加到指定的位置。
// 将第一个选择框中的第一个选项移动到第二个选择框中 var selectbox1 = document.getElementById("selLocations1"), selectbox2 = document.getElementById("selLocations2");selectbox2.appendChild(selectbox1.options[0]); 1234
DOM的insertBefore方法
// 将选择框中的选项向后移动一个位置 var optionToMove = selectbox.options[selectbox.options.length - 1]; selectbox.insertBefore(optionToMove, selectbox.options[0]);123
四、表单序列化
对表单字段的名称和值进行URL编码,使用“&”分隔;
不发送禁用的表单字段;
只发送勾选的复选框和单选按钮;
不发送type为“reset”和“button”的按钮;
选择框中每个选中的值单独条目发送;
五、富文本编辑
contenteditable:用户立即可编辑该元素
data:text/html, <html contenteditable>1
以上がJavaScript フォーム スクリプトの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

オブジェクト リレーショナル マッピング (ORM) フレームワークは、Python 開発において重要な役割を果たします。オブジェクト データベースとリレーショナル データベースの間にブリッジを構築することで、データ アクセスと管理を簡素化します。さまざまな ORM フレームワークのパフォーマンスを評価するために、この記事では次の一般的なフレームワークに対してベンチマークを実行します。 sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM テスト方法 ベンチマークでは、100 万レコードを含む SQLite データベースを使用します。テストでは、データベースに対して次の操作を実行しました。 挿入: テーブルに 10,000 件の新しいレコードを挿入します。 読み取り: テーブル内のすべてのレコードを読み取ります。 更新: テーブル内のすべてのレコードの 1 つのフィールドを更新します。 削除: テーブル内のすべてのレコードを削除します。 各操作

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

オブジェクト リレーショナル マッピング (ORM) は、開発者が SQL クエリを直接記述せずにオブジェクト プログラミング言語を使用してデータベースを操作できるようにするプログラミング テクノロジです。 Python の ORM ツール (SQLAlchemy、Peeweee、DjangoORM など) は、ビッグ データ プロジェクトのデータベース操作を簡素化します。利点 コードの単純さ: ORM により、長い SQL クエリを作成する必要がなくなり、コードの単純さと読みやすさが向上します。データの抽象化: ORM は、アプリケーション コードをデータベース実装の詳細から分離する抽象化レイヤーを提供し、柔軟性を向上させます。パフォーマンスの最適化: ORM は多くの場合、キャッシュとバッチ操作を使用してデータベース クエリを最適化し、それによってパフォーマンスを向上させます。移植性: ORM により、開発者は次のことが可能になります。

現在のページを更新する js メソッド: 1. location.reload(); 2. location.href; 3. location.assign(); 4. window.location。詳細な紹介: 1. location.reload()、location.reload() メソッドを使用して現在のページを再読み込みします; 2. location.href、location.href 属性などを設定することで現在のページを更新できます。

__proto__ とprototypeはJSのプロトタイプに関連する2つの属性で、機能が少し異なります。この記事では、2 つの違いを詳しく紹介して比較し、対応するコード例を示します。まず、それらが何を意味し、何に使用されるのかを理解しましょう。 proto__proto__ は、オブジェクトのプロトタイプを指すオブジェクトの組み込みプロパティです。カスタム オブジェクト、組み込みオブジェクト、関数オブジェクトなど、すべてのオブジェクトには __proto__ 属性があります。 __proto__属による

JS-Torch の概要 JS-Torch は、構文が PyTorch に非常に似ている深層学習 JavaScript ライブラリです。これには、完全に機能するテンソル オブジェクト (追跡された勾配で使用可能)、深層学習レイヤーと関数、および自動微分エンジンが含まれています。 JS-Torch は JavaScript での深層学習の研究に適しており、深層学習の開発を加速するための便利なツールや機能を多数提供します。 Image PyTorch は、Meta の研究チームによって開発および保守されているオープンソースの深層学習フレームワークです。ニューラル ネットワーク モデルを構築およびトレーニングするための豊富なツールとライブラリのセットを提供します。 PyTorch は、シンプル、柔軟、そして使いやすいように設計されており、その動的な計算グラフ機能により、

オブジェクト リレーショナル マッピング (ORM) は、オブジェクト指向プログラミング言語とリレーショナル データベース間の橋渡しを可能にするテクノロジーです。 pythonORM を使用すると、データの永続化操作が大幅に簡素化され、アプリケーションの開発効率と保守性が向上します。利点 PythonORM を使用すると、次のような利点があります。 定型コードの削減: ORM は SQL クエリを自動的に生成するため、大量の定型コードを記述する必要がなくなります。データベース対話の簡素化: ORM は、データベースと対話するための統合インターフェースを提供し、データ操作を簡素化します。セキュリティの向上: ORM はパラメータ化されたクエリを使用するため、SQL インジェクションなどのセキュリティの脆弱性を防ぐことができます。データの一貫性の促進: ORM はオブジェクトとデータベース間の同期を保証し、データの一貫性を維持します。持つORMを選択してください
