asp.net mvc js 獲取model值。

cshtml頁面部分代碼: 
div class="col-sub">
         @using (Html.BeginForm("SaveTTMallConfig", "TTMall", FormMethod.Post, new { id="J_ttmall_form"}))
         {
        <div>
            <fieldset>
                <div id="J_ttmall_config2" class="">
                    <div class="editor-field">
                        <label class="hd">
                            模板主題:</label>
                        @Html.RadioButtonListFor(m => m.Scheme, "mallScheme", System.Web.UI.WebControls.RepeatDirection.Horizontal)
                    </div>
                    <div class="editor-field">
                        <label class="hd">
                            模板規格:</label>
                        @Html.RadioButtonListFor(m => m.Size, "mallSize", System.Web.UI.WebControls.RepeatDirection.Horizontal)
                    </div>
<script>
     //在這裏獲取m.Scheme,m.Size的值
     //不考慮根據html結構找id等等方法
     //直接得到form封裝後的 key value 能夠
     //直接得到更改後的model.Scheme等的值 能夠
</script>



如上所述,在js中得到表單提交的各個值,或者得到model更改後的值,請幫忙小弟,不勝感激!
 

 

回覆討論(解決方案)

<script type="text/javascript">
    var ss = '@Model.Scheme;
    alert(ss);
</script>
應該不行吧。javascript只能取得頁面上的值。 

不過你能夠將m.Scheme,m.Size的值賦給hidden field,再在javascript中取。
應該不行吧。javascript只能取得頁面上的值。 

不過你能夠將m.Scheme,m.Size的值賦給hidden field,再在javascript中取。


若是控制器像頁面返回了當前Model,那麼在JS中是能夠那麼獲取的
 var ss =' @Model.Scheme'; 
 至關於webfrom中的  
 var ss='<%=xx%>'
HTML code 

<script type="text/javascript"> 
    var ss = '@Model.Scheme; 
    alert(ss); 
</script>

這個是靜態的,不是動態的值呀.
不建議這麼寫能夠將MODEL的值賦給hidden經過JS獲取
 var ss =' @Model.Scheme'; 
 至關於webfrom中的  
 var ss='<%=xx%>'


若是能夠的話, 這個辦法好。
不建議這麼寫能夠將MODEL的值賦給hidden經過JS獲取

 @Html.RadioButtonListFor(m => m.Scheme, "mallScheme", System.Web.UI.WebControls.RepeatDirection.Horizontal) 
我要得到這個m.Scheme的值,頁面是傳進來一個model.scheme,不過那個是靜態的,我要得到是值表單裏面的,是動態的.
是通過表單更改後的model的各個項的值
或者有沒有方法,在知道表單id的狀況下,得到當前表單裏面的各項的值.
HTML code 


<script type="text/javascript"> 
    var ss = '@Model.Scheme; 
    alert(ss); 
</script>


這個自己就是動態的,你在控制器中已經向頁面返回了Model,而這個Model中,固然會包含你的那些屬性,像 
Scheme,Size等,而這個Model是從數據庫裏查出來的,當你修改了以後,刷新頁面,控制器會根據地址欄的ID查詢該ID的記錄,而後向頁面返回這個Model,都已經獲得了,還要賦值給隱藏域?這不是表單提交
引用 2 樓  的回覆: 
HTML code 


<script type="text/javascript"> 
var ss = '@Model.Scheme; 
alert(ss); 
</script> 


這個自己就是動態的,你在控制器中已經向頁面返回了Model,而這個Model中,固然會包含你的那些屬性,像 
Scheme,Size等,而這個Model是從數據庫裏查出……

用戶操做過程:打開頁面->填寫修改表單->點擊預覽->保存(提交表單) 
我要在用戶 填寫修改表單-至(獲取表單各項值)-保存 這個過程當中獲取表單的值.
暈,我就是在表單未提交以前,不與controller交互獲取,js中獲取表單項的值
注意,我上面寫的不是表單提交代碼,而是初次訪問頁面的時候訪問當前頁面對應ID的Model,並返回在頁面上 

就像WebForm中的,修改用戶信息同樣,進入修改頁面,你確定先根據當前ID查詢以前的字段值呀,好比用戶名,性別,愛好,而後顯示在頁面上,提交的時候在根據你修改的進行提交呀,也就是說在修改頁面,用戶確定要先看到本身以前的信息,而這些是提交以前的 

而上面的代碼正是在提交以前的初始化頁面操做 


怎麼?換了一個環境就轉不過來了? 

真正的提交代碼,應該以下呀,傳過來修改的模型呀 
 [HttpPost]
        public ActionResult Edit(Bif model)
        {
            BIF bif = db.BIF.Single(b => b.Id == id);
            bif.UserName=model.UserName;
            //.........
            return View(bif);
        }


能夠試試經過js遍歷表單個元素,而後經過判斷是否爲radio類型 若是是取出radio的值
相關文章
相關標籤/搜索