2015-09-21 7 views
5

私が使用しているAPIでは、名前、値のペアを持つajax経由でデータを送信する必要があります。名前には、モデルとは異なり空白やその他の文字を含めることができます。入力の名前を取得するanglejs

したがって、英数字でなければならないモデルは、名前の直接の表現ではありません。例: 名、モデル、バリュー

はGST(はい/いいえ)、stepTwo.has_gst_yes_no、1

はので、私います:

console.log($scope.stepTwo) 
//I have: 
//has_gst_yes_no=1 

これは素晴らしいですが、どのように私は得ることができます入力の名前だけでなく、これをキーとして使用してAPIに送信する必要があります。

希望は意味があります。あなたは、角度のフォームディレクティブを探すことができます

+1

angleのデフォルトのリクエストトランスフォーム機能を無効にしたいと思うように聞こえます。この投稿は完全に説明しています:http://www.bennadel.com/blog/2615-posting-form-data-with-http-in-angularjs.htm – o4ohel

+0

ありがとうございますが、それは私の質問に答えるとは思わない。 – Martin

+2

あなたが書いたことから名前はモデルの一部でなければならず、バインディングとは関係がありません。 '$ scope.foo = {name:" foo "、model:" foo "、value:" 1 "}'のようなモデルを用意し、 'ng-model =" foo.value "'のようにバインドする必要があります。他のオプションは、 'name'のHTML attriubuteからnameを読み込み、それをデータに付加する' ngModel'ディレクティブを拡張することです。 – csharpfolk

答えて

0

https://docs.angularjs.org/guide/forms

今生成されたフォームオブジェクトは、入力の名前を持っています。しかし、私は角度がそのようなキーと値のペアを受け入れるとは思わない。

関数内でマッピングを行うことができます。ここでは、このようなキーと値のペアを定義できます。

var obj = {}; 
obj["this is property"] = "foo"; 
関連する問題