作者aoksc (重出江湖)
看板Python
标题[问题] 网页与Django互动的问题
时间Sun Nov 10 11:41:11 2013
请教各位
http://ppt.cc/mNX9
如果我在Django上写一个新增编辑功能的网页
在网页中的button代表新增/编辑
我的新增跟编辑如果都用同一个template
你按下编辑的Button的时候会依照你选的红色区块哪个radio
在form的资料区块中的每个栏位显示该笔资料的资讯
让使用者只需要填他要改的地方就可以
我现在的问题是
请问要怎麽让我按下Button就能送radio的value到後台呢?
因为我目前学会的都是用submit的方式传送资料
所以想请问一下这种情况有什麽方式可以解决呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.192.28.81
1F:推 vagrants:如果不想用submit的话,可以用ajax送资料到後台 11/10 12:01
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)
2F:推 icycandle:如果不想换页的话,target可以指向特定的frame 11/10 23:28
3F:→ icycandle:但是在UI上还是要做额外的提示工作 11/10 23:29
4F:→ icycandle:总体说来免不了要写javascript,所以Ajax还是不错的选择 11/10 23:29
5F:推 timTan:form 可以大一点没关系可以包住 button 11/11 02:03
6F:推 timTan:你可以用 twitter bootstrap 排版。 11/11 02:05
7F:→ timTan:submit 的时候,会把 radio 的资料送出去啊。 11/11 02:06
8F:→ timTan:让那两个 button 都是 submit 吧 11/11 02:07
9F:→ jcfrank:submit部份,官方tutorial 04也有喔. 11/11 09:32
10F:→ jcfrank:简单说, 就是把radio buttons的name="choice", 11/11 09:33
11F:→ jcfrank:value={{choice.id}},在views.py就可以用 11/11 09:34
12F:→ jcfrank:request.POST['choice']来拿到choice的id. 11/11 09:35
谢谢各位的意见
目前我的作法是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)
13F:推 timTan:你想到的方法没什麽问题,能用! 11/11 17:32
关於按下edit之後form每个栏位要有该比id的相关资料
後来经别人提醒才想到这个问题其实很简单…
一进去这个网页底下就有每笔资料的list了
那麽我们就触发radio的时候把那列资料里面的td内容取出来塞到form不就好了
所以也不用Ajax就能解决这个问题罗
※ 编辑: aoksc 来自: 123.192.28.81 (11/11 19:45)