2015-12-08 25 views
1

我是Angularjs的新手。我有表單數據,我需要向傳遞數據的服務器發送一個post請求。我已經完成了angularjs中的UI和控制器部分,但不知道如何捕獲表單數據。請找到plnkr的鏈接 - Plnkr link捕獲Angularjs控制器內部的表單數據

通過點擊添加按鈕,一個新的li元素被添加,並在點擊減號時被刪除。我需要將所有關鍵值項目轉換爲以下格式發送Post請求。

{ 
    "search_params": [ 
    { 
    "key": "search string", 
    "predicate": "matches", 
    "value": "choosen text" 
    }, 
    { 
    "key": "search string", 
    "predicate": "not-matches", 
    "value": " search value" 
    }, 
    { 
    "key": "search string", 
    "predicate": "matches", 
    "value": " search value" 
    } 
] 

}

如何捕獲表單數據和構建param對象我的控制器內部的控制器內的searchParams函數內。請讓我知道,因爲我是Angularjs的新手。

更新的問題 基於輸入,我可以在控制器中獲取用戶詳細信息。但也有幾件事情:

  • 默認情況下會出現一個li元素,當用戶提交,目前li元素的數據應該在控制器中被捕獲。
  • 只有使用加號按鈕添加條件時,數組纔會更新,但最後一個元素數據在提交時並未在模型中更新。
  • 同樣對於刪除標準也有好處。

鏈接更新Plunker - Plnkr Link

+1

這可能會幫助您開始http://plnkr.co/edit/h1afP3TI2jrrYGQFUPOf?p=info – Ricky

+0

我驗證了您的plunkr,但有些條件無法正常工作。已經更新了這個問題 – zilcuanu

回答

0

指令像<select><input>要求NG-模型屬性正確綁定你輸入$作用域屬性。

在您的HTML標記中,您必須使用必需的屬性(如ng-model)更新您的表單元素。

我建議(在控制器/鏈路)僅使用一個用於表單數據對象具有不同性質的像

var form = { 
    name: '', 
    surname: '', 
    wharever: '' 
} 

通訊<input>將是離。在您填寫完'表單'對象之後,您可以在請求之前(如果您使用其他內容類型,然後應用程序/ json)執行JSON.stringify(表單)。

1

根據您發佈的json,在@Chris Hermut上展開並假設您需要一張地圖數組。你可以通過

var arr = []; 
    var form = { 
    name: 'asd', 
    surname: 'aasdasdsd', 
    wharever: 'asd' 
    } 
    arr.push(form); 

    //prentending to be another (key,value) 
    form.surname = 'hfg'; 

    arr.push(form); 

這裏是一個fiddle說明這一點。

相關問題