Webixフレームワークでフォームを作成します
この記事は、サイモン・コドリントンとマロリー・ヴァン・アチェルバーグによって査読されました。 SetePointコンテンツを最高にするためにSitePointのピアレビュアーのすべてに感謝します! Webデザイナーとして、かなり定期的にWebフォームを作成する必要がある可能性があります。多くの場合、これは感謝のない作業であり、頭痛の種に悩まされています(特に、マルチステップフォームの作成など、より複雑なことをしている場合)。このような場合、UIフレームワークを使用して痛みを和らげ、開発プロセスをスピードアップする方が良い場合があります。この記事では、さまざまな種類のフォームをすばやく作成できるさまざまなヒントとトリックを概説します。
キーテイクアウト
シンプルさと速度:Webix JavaScript UIライブラリを利用すると、フォーム作成のプロセスが大幅に簡素化され、マルチステップやマルチタブ形式などの複雑な形式の迅速な発展と統合が可能です。 フォーム作成の汎用性:Webixは、単純なフォーム、複数の選択オプションを備えたフォーム、フォーム内のツリーウィジェットのようなウィジェットの革新的な使用など、さまざまなフォーム要素と構成を提供します。
カスタマイズと柔軟性:フレームワークは、カスタムスキンの作成や、ドラッグアンドドロップUI作成のためのビジュアルデザイナーツールの使用、特定の設計要件への対応など、広範なカスタマイズオプションをサポートしています。- 高度な機能:Webixは、マルチコンボの選択や提案などの高度な機能を提供し、ユーザーインターフェイスとフォームのエクスペリエンスを強化します。
- 統合と互換性:フレームワークは、プロジェクトに含めるさまざまな方法と互換性があり、主要なブラウザーとデバイスをサポートし、他のJavaScriptフレームワークと一緒に使用でき、多様な開発環境に適応できます。
- webixとは?
- Webixは、モバイルおよびデスクトップWebアプリの作成を促進するHTML5コンポーネントのJavaScript UIライブラリです。簡単なボタンからスプレッドシートウィジェットまで、Excelのようなアプリケーションの開発に使用できるさまざまなコンポーネントを提供します。 UIコンポーネントコレクションに加えて、イベント処理メカニズム、オフラインモードサポート、および多数の開発ツールがあります。また、スキンビルダーを使用して独自のスキンを作成し、Visual Designerを使用してドラッグアンドドロップUIの作成を行い、オンラインソースコードプレイグラウンドでコードをプレイすることもできます。このプロジェクトには、徹底的な文書もあります。
- このフレームワークを使用する重要な機能と基本について説明する紹介記事を既に書いているので、興味があれば事前に見てください。 Webixを含む
プロジェクトに必要なJavaScriptおよびCSSファイルを含めることができるさまざまな方法があります。ライブラリパッケージをダウンロードすると、これらのファイルがCodeBaseフォルダー内にあります。次のように含めることができます:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
または、cdn:
を使用できます<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="http://cdn.webix.com/edge/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="http://cdn.webix.com/edge/webix.js"</span>></span><span><span></script</span>></span> </span>
nuget:
を使用することもできますnuget <span>install Webix </span>
Microsoft Visual Studioを使用している場合は、パッケージマネージャーコンソールからこれを実行します。
install-package Webix
bower install webix
さあ、ライブラリが配置されているので、Webixフォームのウィジェットがどのように機能するかを見てみましょう。
WebixオブジェクトのUIメソッドを呼び出し、さまざまなパラメーターを渡して出力を構成することから始めます。
webix<span>.ui({ </span> <span>view: "form", </span> <span>id: "myForm", </span> <span>container: "areaA", </span> <span>width: 350, </span> <span>elements: [ </span> <span>{ // first form component }, </span> <span>{ // second form component}, </span> <span>{ // n-th form component */} </span> <span>] </span><span>}); </span>
ビュープロパティは、作成された要素の種類を決定します(ここではフォームを作成していますが、これはメニューまたはチャートである可能性があります)。
IDプロパティはフォームにIDを割り当て、後で参照することができます。- コンテナプロパティは、フォームをレンダリングするHTML要素のIDを指定します。
- 幅プロパティは、フォーム要素の幅を設定するために使用されます。 Webixは、ここではピクセルを測定単位として使用することを想定しているため、適切な数字を設定する必要があります。 Elementsプロパティは、フォームに含まれるコンポーネントの配列です。フォーム内の任意の適切なコンポーネントを使用できます:テキストフィールド、ラジオボタン、チェックボックス、ボタンなど。
- 簡単なログインフォームを作成しましょう。 2つのテキストフィールド(1つはユーザー名用、もう1つはパスワード用)、1つのチェックボックス、そしてもちろん、送信ボタンが必要です。
- フォーム要素の名前属性を指定し、パスワードフィールドの「パスワード」を設定して、入力された文字をマスクするように指定していることに注意してください。要素のラベルプロパティを設定すると、その要素のラベルが定義されており、要素のクリックプロパティを使用して、フォームが送信されたときに呼び出されるイベントハンドラーを定義できます。すべてがデータで問題ないことをチェックする可能性があるのは素晴らしいことですが、クライアント側の検証はサーバー側の検証のみを補足するだけであることを忘れないでください。 このデモを実行する前に、このイベントハンドラーを定義する必要があります。ここでは、Webixメッセージボックスを使用して、入力されたものについてユーザーのフィードバックを提供します。
- このコードは、Webix getValuesメソッドを使用して、myformのIDを使用してフォームから挿入されたデータを導出し、json.stringify()。
- まあ、すべてが準備ができているので、結果を確認できます:
webix<span>.ui({ </span> <span>... </span> <span>elements: [ </span> <span>{ view: "text", label: "Username", name: "username" }, </span> <span>{ view: "text", label: "Password", name: "password", type: "password" }, </span> <span>{ view: "checkbox", labelRight: "I accept the terms of use", name: "accept" }, </span> <span>{ view: "button", value: "Submit", width: 150, align: "center", click: submit } </span> <span>] </span><span>}); </span>
デモです:
<span>function submit(){ </span> webix<span>.message(JSON.stringify($$("myForm").getValues(), null, 2)); </span><span>} </span>
複数の選択と提案
さまざまなフォームコントロールを使用すると、複数のアイテムを選択したり、提案を使用したりできます。私に関しては、それらの最も興味深いのはマルチコンボです。これは、単純で直感的なインターフェイスを介して入力フィールドの複数の値を選択できるコントロールです。
注:最近のWebixリリース(2016年4月26日)では、マルチコンボ制御の仕組みに変更が見られました。現在、Webix Proバージョンのみ(有料製品)で利用可能です。開発者がCVを生成するのに役立つページを作成したいと想像してください。次のフィールドが含まれている可能性があります。
ユーザーが複数のプログラミング言語を知っていることを期待しているため、そのような言語のリストを作成し、マルチコンボコンポーネントを使用して表示できます。これがどのように見えるかの例です:
それがどのように機能するかを確認しましょう。テキストフィールドをクリックすると、ドロップダウンリストが表示されます。
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
スクロールして必要なアイテムを選択するか、入力を開始して提案を絞り込むことができます。
この例のデモです。
Webixは、テキストフィールド、ボタン、チェックボックスなどの従来のフォーム要素に制限されません。好きなウィジェットをフォーム内に配置できます。たとえば、ツリーウィジェットを見てみましょう。最初はフォームコントロールとして設計されていなかったため、この要素に使用可能なSetValueおよびGetValueメソッドはありません。ただし、このコンポーネントの値を返したり設定したりすることができる場合は、これらの方法が必要です。それで、私たちは何ができますか? 幸いなことに、私たちを助けることができるProtouiメソッドがあります。既存のビューに基づいて新しいビューを作成できます。
試してみましょう:上記のコードでは、Formtreeと呼ばれる新しいビューを作成しています。次に、設定してID値を取得できる2つの新しいメソッドを定義します。最後に、この新しいビューの基礎としてツリーウィジェットを使用しています。
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
通常のように新しい要素をフォームに追加できます:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="http://cdn.webix.com/edge/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="http://cdn.webix.com/edge/webix.js"</span>></span><span><span></script</span>></span> </span>
ここにいくつかの新しいプロパティを導入しています。テンプレートプロパティはツリーノードにチェックボックスを追加し、3状態のプロパティは3状態のチェックボックスを有効にします。これらのチェックボックスは次のとおりです
nuget <span>install Webix </span>
ユーザーが子ノードをチェック/チェックすると、個々の子供ノードのみがチェック/チェックされていません。
- 3つの州のチェックボックスを使用する場合は、1つの小さな問題に注意する必要があります。チェックボックスを選択すると、Webixがツリーを再レンダリングします。キーボードを使用してフォームに入力することにした場合、 スペース
- を押してチェックボックスの選択(ChromeなどのWebKitベースのブラウザの場合)を切り替えると、フォーカスが失われる可能性があります。 'llフォームの最初からタブを開始します。
これは機能するはずです。ただし、他の問題は次のとおりです。WebKitはタブ中にチェックボックスをマークしません。これに対抗するために、いくつかのCSSコードを使用して、フォーカスされたチェックボックスにアウトラインまたはボックスシャドウを追加できます。例を次に示します:
このすべてを所定の位置に配置すると、
[install-package Webix
bower install webix
yep、IDは正常に送信されました。 こちらでこのフォームを確認できます:
CodepenのSitePoint(@SitePoint)のペンAnjyjrを参照してください
マルチタブおよびマルチステップフォーム
ユーザーから大量のデータを収集する予定がある場合は、フォームを小さな部分に分離できます。 2つの可能性を見てみましょう。複数のタブで構成されるフォームと、段階的にデータの挿入を可能にするフォーム。 Tabviewコンポーネント
Tabviewコンポーネントは、ユーザーが切り替えることができるタブに分離された要素のコレクションを作成します。 TabViewコンテンツとして単一の要素を使用するか、必要な要素を含む行と列の組み合わせを定義できます。例を次に示します
このアプローチの背後にある主なアイデアは、フォームをコンパートメント化することです(したがって、ユーザーにとってより管理しやすくします)。ただし、フォーム全体に関連するコンポーネント(たとえば、[送信]ボタンまたは「受け入れる」チェックボックス)は、tabviewコンポーネントの外側に配置する必要があることを覚えておく必要があります。たとえば:
タブ付きフォームを作成するために必要なのはそれだけです。以下の結果を確認できます:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
このアプローチに追加の利点は、これらのパーツを1つとして機能させるために追加のコードを追加する必要がないことです。 TabViewコンポーネントをフォーム内に配置し、すべてのフィールドに名前プロパティを追加すると、挿入されたすべての値を取得できます。 [
[<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="http://cdn.webix.com/edge/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="http://cdn.webix.com/edge/webix.js"</span>></span><span><span></script</span>></span> </span>少し乱雑に見えますが、それでも私たちのデータです。
あなたの意図は、多数のタブを使用することであり、tab
キーを使用してそれらを切り替える場合は、タブバー内のボタンを使用できます。このアプローチを使用すると、タブをタブナビゲーション順に追加できます。あなたがする必要があるのは、ヘッダープロパティを変更することだけです:
次のデモでは、デートピッカーも使用します。ユーザーがキーボードを介して(現在)対話することはできませんが、有用な視覚補助具を提供することはできないため、ユーザーが
returnにヒットしたときに表示されることを確認する必要があります。 これを達成する1つの方法は、Hotkeyプロパティを使用することです。しかし、ここにあなたが気付くべきことがあります。このプロパティは、キーを単一のページ要素にバインドする場合、問題なく動作します。しかし、私たちの形には2つのデートピッカーがあります。したがって、Addhotkeyメソッドを使用して、すべてのデートピッカーで動作する新しいハンドラーを作成する必要があります。 次のデモでこれらすべてが一緒に機能するのを見ることができます:
nuget <span>install Webix </span>
代替手段として、このタスクにアコーディオンを使用できます。
Multiviewコンポーネント
Multiviewコンポーネントを使用すると、次々と表示できる要素のシーケンスを作成できます。タブを使用してマルチビュー領域を切り替えることができますが、マルチステップフォームの作成に関心があるため、ボタンを追加してさまざまな段階をユーザーにガイドしましょう。
まず、2つの関数を作成して、andbackボタンが機能するようにする必要があります。 次の関数は、WebixのgetParentViewメソッドを使用して、クリックされたボタンのセルを含む参照を取得します(つまり、現在表示されているセル)。次に、MultiViewコンポーネント(FormContent)のID値を使用して、(ある場合)セルが次に来るかを計算します。次のセルがある場合、showメソッドを使用してビューに移行されます。バック関数は、バックメソッドを使用して、マルチビューを以前にアクティブビューにスイッチ
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
これがどのように見えるか見てみましょう:
今行ったことを見てみましょう:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="http://cdn.webix.com/edge/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="http://cdn.webix.com/edge/webix.js"</span>></span><span><span></script</span>></span> </span>
次のボタンをクリックすると、フォームの次の部分が表示されます。
そして、すべてが予想どおりに機能するかどうかを確認しましょう:
そうです!これが最終的なデモです:
CodepenのSitePoint(@SitePoint)のペンAnjldoを参照してください
結論
プロジェクトでWebixを使用していますか?このチュートリアルはあなたにそれを試してみるように促しましたか?以下のコメントでお知らせください。
Webixフレームワークに関するよくある質問(FAQ)Webixフレームワークとは何ですか?また、どのように機能しますか?
Webixは、開発者がリッチで高性能のWebアプリケーションを作成できる強力なJavaScript UIライブラリです。データテーブル、チャート、フォームなど、100を超える完全にカスタマイズ可能なウィジェットを提供します。 Webixは、開発者がJavaScriptを使用してUIコンポーネントを作成できるようにすることで機能し、任意のWebアプリケーションに簡単に統合できます。このフレームワークは、シンプルで直感的なAPIを備えた使いやすいように設計されており、幅広いブラウザーとデバイスもサポートしています。 Webixを始めましょう。まず、公式Webix Webサイトからライブラリをダウンロードする必要があります。ライブラリを手に入れたら、HTMLファイルにスクリプトタグを追加して、プロジェクトに含めることができます。そこから、Webix APIを使用してUIコンポーネントの作成を開始できます。公式のWebixドキュメントは、あなたが始めるのに役立つ豊富な情報と例を提供します。 Web開発のための強力なツール。いくつかの重要な機能には、100を超えるUIウィジェット、シンプルで直感的なAPI、幅広いブラウザーとデバイスのサポート、複雑なUIレイアウトを作成する機能が含まれます。さらに、Webixは、データバインディング、イベント処理、AJAXサポートなどの多くの高度な機能も提供します。他のJavaScript UIライブラリはいくつかの方法で。まず、他のほとんどのライブラリよりもはるかに大きなUIウィジェットを提供し、開発者がより複雑で機能が豊富なアプリケーションを作成できるようにします。第二に、Webixは使いやすいように設計されており、シンプルで直感的なAPIを使用して、簡単に開始できます。最後に、Webixは、高速レンダリング時間と効率的なメモリ使用量を備えた優れたパフォーマンスを提供します。 Angular、React、およびVue.JS.これにより、開発者はアプリケーションで複数のフレームワークの強みを活用できます。たとえば、UIウィジェットの豊富な選択にWebixを使用しながら、強力なデータバインディング機能にAngularを使用する場合があります。また、携帯電話やタブレットなど、幅広いデバイスをサポートしています。これにより、モバイルフレンドリーなWebアプリケーションの作成を検討している開発者に最適です。Webixアプリケーションの外観をカスタマイズするにはどうすればよいですか?
Webixは、アプリケーションの外観をカスタマイズする方法をいくつか提供します。 CSSを使用してUIコンポーネントのスタイルを設定することも、Webixが提供する多くの事前に作成されたスキンのいずれかを使用できます。さらに、Webixを使用すると、Skin Builderツールを使用して独自のカスタムスキンを作成することもできます。公式WebixのWebサイトには、豊富なドキュメントと例、および質問をしてコミュニティから助けを得ることができるフォーラムが提供されています。さらに、Webixは、Webix開発チームへの直接アクセスを含むプレミアムサポートパッケージも提供しています。無料バージョンには、限られたウィジェットと機能が含まれていますが、有料版はすべてのウィジェットと機能へのアクセスとプレミアムサポートを提供します。
Webixの詳細については、公式WebixのWebサイトにアクセスすることが最善の方法です。ここでは、ドキュメント、例、チュートリアルなど、豊富な情報やリソースを見つけることができます。 GitHubのWebixコミュニティに参加することもできます。ここでは、追加のリソースを見つけて、他のWebix開発者と接続できます。
Webixアプリケーションの外観をカスタマイズするにはどうすればよいですか?
Webixは、アプリケーションの外観をカスタマイズする方法をいくつか提供します。 CSSを使用してUIコンポーネントのスタイルを設定することも、Webixが提供する多くの事前に作成されたスキンのいずれかを使用できます。さらに、Webixを使用すると、Skin Builderツールを使用して独自のカスタムスキンを作成することもできます。公式WebixのWebサイトには、豊富なドキュメントと例、および質問をしてコミュニティから助けを得ることができるフォーラムが提供されています。さらに、Webixは、Webix開発チームへの直接アクセスを含むプレミアムサポートパッケージも提供しています。無料バージョンには、限られたウィジェットと機能が含まれていますが、有料版はすべてのウィジェットと機能へのアクセスとプレミアムサポートを提供します。
Webixの詳細については、公式WebixのWebサイトにアクセスすることが最善の方法です。ここでは、ドキュメント、例、チュートリアルなど、豊富な情報やリソースを見つけることができます。 GitHubのWebixコミュニティに参加することもできます。ここでは、追加のリソースを見つけて、他のWebix開発者と接続できます。以上がWebixフレームワークでフォームを作成しますの詳細内容です。詳細については、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)

ホットトピック











フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

フロントエンドのVSCodeと同様に、パネルドラッグアンドドロップ調整機能の実装を調べます。フロントエンド開発では、VSCODEと同様のVSCODEを実装する方法...

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。
