cshtml頁面部分代碼:
如上所述,在js中獲得表單提交的各個值,或者獲得model更改后的值,請幫忙小弟,不勝感激!
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中取。
不過你可以將m.Scheme,m.Size的值賦給hidden field,再在javascript中取。
應該不行吧。javascript只能取得頁面上的值。
不過你可以將m.Scheme,m.Size的值賦給hidden field,再在javascript中取。
不過你可以將m.Scheme,m.Size的值賦給hidden field,再在javascript中取。
如果控制器像頁面返回了當前Model,那么在JS中是可以那么獲取的
var ss =' @Model.Scheme';
相當於webfrom中的
var ss='<%=xx%>'
相當於webfrom中的
var ss='<%=xx%>'
HTML code
<script type="text/javascript">
var ss = '@Model.Scheme;
alert(ss);
</script>
<script type="text/javascript">
var ss = '@Model.Scheme;
alert(ss);
</script>
這個是靜態的,不是動態的值呀.
不建議這么寫可以將MODEL的值賦給hidden通過JS獲取
var ss =' @Model.Scheme';
相當於webfrom中的
var ss='<%=xx%>'
相當於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>
<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是從數據庫里查出……
HTML code
<script type="text/javascript">
var ss = '@Model.Scheme;
alert(ss);
</script>
這個本身就是動態的,你在控制器中已經向頁面返回了Model,而這個Model中,當然會包含你的那些屬性,像
Scheme,Size等,而這個Model是從數據庫里查出……
用戶操作過程:打開頁面->填寫修改表單->點擊預覽->保存(提交表單)
我要在用戶 填寫修改表單-至(獲取表單各項值)-保存 這個過程中獲取表單的值.
暈,我就是在表單未提交之前,不與controller交互獲取,js中獲取表單項的值
注意,我上面寫的不是表單提交代碼,而是初次訪問頁面的時候訪問當前頁面對應ID的Model,並返回在頁面上
就像WebForm中的,修改用戶信息一樣,進入修改頁面,你肯定先根據當前ID查詢之前的字段值呀,比如用戶名,性別,愛好,然后顯示在頁面上,提交的時候在根據你修改的進行提交呀,也就是說在修改頁面,用戶肯定要先看到自己之前的信息,而這些是提交之前的
而上面的代碼正是在提交之前的初始化頁面操作
怎么?換了一個環境就轉不過來了?
真正的提交代碼,應該如下呀,傳過來修改的模型呀
就像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的值