HTML入力値(ユーザーが入力した値)の文字列を生成したいとします。文字列をHTML入力に変換し、バインドされた値を持つ文字列を作成します。
HTML入力を含む文字列を表示するためのHTMLコードです。
<div id="wid-12" ng-bind-html="finalString" compile-template></div>
JavaScript入力用のJavaScriptコード。
function convertStringToInputs() {
var string = "Hi,Cricket match with !!!TEXT!!! on !!!DATE!!! Umpire is !!!TEXT!!! and price is !!!NUMBER!!! items.";
var mapObj = {
'!!!TEXT!!!': "<input type='text' placeholder='Enter text' ng-model='text'/>",
'!!!DATE!!!': '<input type="date" placeholder="Enter date" ng-model="date"/>',
'!!!NUMBER!!!': '<input type="number" placeholder="Enter Number" ng-model="number"/>'
};
string = string.replace(/!!!TEXT!!!|!!!DATE!!!|!!!NUMBER!!!/gi, function (matched,key) {
return mapObj[matched];
});
$scope.finalString = $sce.trustAsHtml(string);
}
convertStringToInputs();
これは、次のような出力を表示します。我々は、入力中のデータを入力した場合
は今、それは以下のように表示されますが、問題は、我々は1つのテキストボックスに値を入力すると、それはまた別のテキストボックスを記入しますです。
保存ボタンをクリックするとすべての値を挿入した後、以下のような文字列を作成します。
こんにちは、2014年12月20日にAusとCricketがマッチしています。アンパイアはAusで、価格は 120000です。
のJavaScriptコードのための保存ボタン
function saveClick() {
var a = $sce.getTrustedHtml($scope.finalString);
}
最後に、私は私が他のテキストボックスに値を入力した場合、それはテキストボックスに同じ値を複製
に直面してどのような問題がリストされています。
すべての入力値を入力した後に文字列を生成することはできません(私は上側を記載しています)。
テンプレートリテラルを使用できますかhttps://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Template_literals?その後、このスクリプト全体は簡単になります。 – Shilly
もっと詳しく説明できますか? – Dixit