想請問一個Html問題
我在Form裡在包Form,內層的第一個Form會消失,想請問如何解決? 以及原因是甚麼?
範例: https://jsfiddle.net/8ef4hxvm/
內層的第一個Form沒有正常顯示
正常來說form只會有一個吧,
包那麼多form的原因是什麼?
我的頁面是一個查詢頁,查詢結果是用Table顯示
而我需要為每一筆row做一個按鈕跳轉到編輯頁,
我是用.Net MVC,原本寫法是用Html.ActionLink跳轉,
但我想用POST資料過去Controller,查了一下發現Html.ActionLink只有Get能用,後來改用Ajax.ActionLink雖然可行,但是公司的專案有為每個cshtml頁面做js的作用域設定(指定哪個頁面只能使用某些js),而我用Ajax.ActionLink雖然畫面可以,但是JS在做作用域設定會出錯,因為當前頁面還沒Render起來抓不到,而我也不可能去改專案底層的架構,所以又換別的方法,目前想在包Html.BeginForm做跳轉最省事,不過就遇到我發問的問題了,若這個方法不行,那我就只能用Ajax打過去,但Success後還要處理跳轉頁面的問題比較麻煩一點,所以想說用form能解決就用form解決。
沒寫過 .net mvc,不過我覺得用 巢狀form 這想法是弄錯方向。
大原則:一個頁面一個form就好,
你可以在每個row的按鈕按下的時候,用JS去修改form的屬性內容,
例如網頁一開始 form action=""(預設),
在按下row button時把 form action 設值(這裡可能也要設一些隱藏input元素來存你這個row的data),然後再送出表單就ok了...
(這樣的架構不管你頁面有幾個row都能套用)
以上只是個想法,提供您參考。
使用AJAX 甚至可以略過form
完全不用form 也可以喔
你的做法似乎可行 謝謝你
to 冰水: 是,不過Ajax打完我還要處理跳轉頁面問題,而且參數也會顯示在Url上,這樣跟我用Get丟過去就一樣意思了。
還是我理解有誤的話 在麻煩指正 謝謝
現在很多都是用類似ajax的方式,
不會透過後端跳轉頁面.
另外我建議你還是學學Html吧,
不需要被微軟自己開發的那些方法框住了.
form 跟 ajax 的方式都會是最好的嘍,
牛刀跟殺豬刀在手,想用牛刀殺豬或是豬刀殺牛都看自己高興...
可以拿豬殺牛嗎