[問題] 網頁與Django互動的問題

看板Python作者 (重出江湖)時間10年前 (2013/11/10 11:41), 編輯推噓5(508)
留言13則, 4人參與, 最新討論串1/1
請教各位 http://ppt.cc/mNX9 如果我在Django上寫一個新增編輯功能的網頁 在網頁中的button代表新增/編輯 我的新增跟編輯如果都用同一個template 你按下編輯的Button的時候會依照你選的紅色區塊哪個radio 在form的資料區塊中的每個欄位顯示該筆資料的資訊 讓使用者只需要填他要改的地方就可以 我現在的問題是 請問要怎麼讓我按下Button就能送radio的value到後台呢? 因為我目前學會的都是用submit的方式傳送資料 所以想請問一下這種情況有什麼方式可以解決呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.28.81

11/10 12:01, , 1F
如果不想用submit的話,可以用ajax送資料到後台
11/10 12:01, 1F
http://jsfiddle.net/p9c2L/ 上面是我寫的程式歡迎指教 我想問的是 您說不想用submit的話 是說我以上的問題可以用submit就可以解決嗎?(不用Ajax的話) 還有我的form的結尾好像這樣寫Eclipse上顯示有問題 請問form包覆的範圍有什麼規定或限制嗎? 因為我想說如果按編輯無法顯示該筆edit的資料 那麼至少當我送出時要能夠包含下面的radio可以讓後台接收 所以如果要修正的話form應該要怎麼排才符合語法呢? 順便請問一下 在排版上我是用float: left;來達成這個版面效果 如果我要讓#Button的區塊可以拉長接觸到#content 變成#Button跟#formTable兩個是平行的 請問在CSS上要怎麼設定呢? 謝謝 ※ 編輯: aoksc 來自: 123.192.28.81 (11/10 13:46) ※ 編輯: aoksc 來自: 123.192.28.81 (11/10 13:51)

11/10 23:28, , 2F
如果不想換頁的話,target可以指向特定的frame
11/10 23:28, 2F

11/10 23:29, , 3F
但是在UI上還是要做額外的提示工作
11/10 23:29, 3F

11/10 23:29, , 4F
總體說來免不了要寫javascript,所以Ajax還是不錯的選擇
11/10 23:29, 4F

11/11 02:03, , 5F
form 可以大一點沒關係可以包住 button
11/11 02:03, 5F

11/11 02:05, , 6F
你可以用 twitter bootstrap 排版。
11/11 02:05, 6F

11/11 02:06, , 7F
submit 的時候,會把 radio 的資料送出去啊。
11/11 02:06, 7F

11/11 02:07, , 8F
讓那兩個 button 都是 submit 吧
11/11 02:07, 8F

11/11 09:32, , 9F
submit部份,官方tutorial 04也有喔.
11/11 09:32, 9F

11/11 09:33, , 10F
簡單說, 就是把radio buttons的name="choice",
11/11 09:33, 10F

11/11 09:34, , 11F
value={{choice.id}},在views.py就可以用
11/11 09:34, 11F

11/11 09:35, , 12F
request.POST['choice']來拿到choice的id.
11/11 09:35, 12F
謝謝各位的意見 目前我的作法是add、edit、del用同一個template form包住整個網頁內容 並且在裡面放一個hidden的input 當我按下add的button時jQuery修改hidden的input的value值為-1 當我按下edit的button時jQuery修改hidden的input的value值為取得radio的值 當我按下del的button時jQuery修改hidden的input的value值為-2 並且隱藏form的內容只顯示submit按鍵 之後在views.py處理時判斷hidden的input的value 是-1就執行新增 -2就代表要刪除之後取得radio的值刪除 並且在每個欄位塞值避免傳送到views沒接到值出問題 最後就用radio的值找出要改的資料列執行edit的動作 目前就只剩要怎麼按下edit時可以找出該筆資料的內容並顯示在form的text上 有想過說按下edit時submit到views回傳form的內容讓原本的網頁填上找到的值 不過這個方法似乎還有很多地方會有問題還需再試試看 謝謝各位的意見 ※ 編輯: aoksc 來自: 211.79.198.240 (11/11 11:33)

11/11 17:32, , 13F
你想到的方法沒什麼問題,能用!
11/11 17:32, 13F
關於按下edit之後form每個欄位要有該比id的相關資料 後來經別人提醒才想到這個問題其實很簡單… 一進去這個網頁底下就有每筆資料的list了 那麼我們就觸發radio的時候把那列資料裡面的td內容取出來塞到form不就好了 所以也不用Ajax就能解決這個問題囉 ※ 編輯: aoksc 來自: 123.192.28.81 (11/11 19:45)
文章代碼(AID): #1IVm1Qql (Python)