私のチームのオペレータがデータソース設定を生成するのを助けるウェブサイトを構築しています。設定ファイルを使用してフォームを自動的に生成
多くのオプションが処理される必要があるためです。私は、ページをレンダリングするための共通のソリューションを設計します:いくつかのルールでhtmlに設定ファイル(おそらく、xml
またはjson
形式)を解析します。たぶん、以下のようなもの:このステップでは、実装するのに容易である
<div class="form-control-group">
<h3>Data type</h3>
<p>Select what type do you want.</p>
<div class="form-control-filed">
<input type="redio" name="dtype" value="p" show="dtype" checked />
<p>data from promotion center</p>
</div>
<div class="form-control-filed">
<input type="redio" name="dtype" value="b" />
<p>data from brands center</p>
</div>
</div>
:
{
"data_type": {
"title": "Data type",
"description": "Select what type do you want.",
"fields": [{
"title": "promotion",
"description": "data from promotion center"
"type": "redio",
"default": true,
"value": "p",
"name": "dtype"
}, {
"title": "brands",
"description": "data from brands center"
"type": "redio",
"default": false,
"value": "b",
"name": "dtype"
}]
}
}
として解析することができます。しかし、いくつかのケースがあるので。私がredio Aをクリックすると、チェックボックスBを隠したいと思います。チェックボックスCのチェックを外した後、入力Dを表示したいのです。設定ファイルを設計して、さまざまなフィールドについてのロジックを記述する方法についてはわかりません。
したがって、重要な点は、私はjsonスニペットでhtmlを解析したいと考えています。次に、各フォームフィールドの動作をマークするシンボルがいくつかあるかもしれませんが、共通のjsを使用して、表示/非表示、フォーカス/ブラーまたはその他のロジックを処理するイベントをバインドできます。属性show
と同様に、共通のjs関数を使用して、それを検出し、そのラジオボタンにクリックイベントをバインドし、このラジオがクリックされた後にname="dtype"
という要素を表示することができます。
それが良い解決策であるかどうか、そして合理的なjson構造を設計する方法がわかりません。
いずれかの提案がありますようお願いいたします。前もって感謝します。
フィールドにキー "id"を追加し、そのキーが依存するフィールドの値に "依存する"ことがあります。そして、「依存」フィールドの値に基づいて、何かを変更します。私は最近このようなものを見ましたが、どこを覚えていないのですか。あなたはそのアイデアを得ることを願っています – alizahid
あなたの設定とロジックを緊密に結合したいのですが? Configはjson/xml /何でも構いませんが、ロジックはjavascriptにすることができます。 –
@Daniel_L別の構造を扱うのに同じコードを使用したいと思います。この設定ファイルは、他のシステムによって提供されています。もう1つのシステムで私のウェブサイトを使用しているときに、他のロジックコードを書く必要はありません。 –