作者Peruheru (还在想)
看板Ajax
标题Re: [问题] jQuery的form套件
时间Sun Jul 19 00:46:56 2009
回答我自己问的问题...
※ 引述《Peruheru (还在想)》之铭言:
: 我上次有来这版上问过有关於jQuery的问题
: 上次问的是如何为动态新增的元素连结上事件
: 现在这则是上次那个的延伸
: 因为Submit按钮是产生於PHP
: form内容有一堆checkBox
: 本来是想要挑选出form内所有已勾选的选项
: 再把值传给PHP
: 不过因为我不熟悉选择器
: 就算能选也不知道怎麽做出跟按下submit时,送出一样的资料
: 後来看到有人文章内容的推文出现
: 可以使用jquery.form的函式库
: 我去蒐寻了一下,果然有找到
: 照着它的范例我做下去,真的可以达到我想要的样子
: 主要就是不换页刷新某部分资料
: 但给别人试过後,他们反应
: 「虽然可以看到页面,其它功能可以用,但按下那个submit钮还是会换页,还会有乱码」
: 我自己试了之後,发现FireFox可以动作(我当初就是用这个测试的),也不会换页
: 但IE真的会出现那个问题
: 乱码问题我知道原因,因为受呼叫的PHP只有表格而没有标头资讯
: 跟本不为一个完整的HTML内容
: 所以浏览器会误判编码,证据是 换页前是正常的
: 前面提了那麽多,再讲到这个讯息
: 原因就是,我只有那块区域是因为有复选不会写
: 而使用了jQuery.form函式库的.ajaxSubmit函式
: 这样看来是IE无法使用这个函式库的这个语法的意思吗?
: 还是说我需要修改些什麽让这函式库可以动作呢?
: 也或许要回到开头,以自己抓值的方式模拟submit动作
: 只传一个值我会,那这种不确定数量的阵列回传,应该要怎麽做才好呢?
: 我主要想知道资料格式,以及如何靠选取器抓取物件
因为我还是找不到资料格式
试到刚刚也不晓得如何Post出checkbox所有勾选者的值阵列回PHP
後来偶然看到jQuery的.serialize()函式
查了一下功能,才发现我何必那麽辛苦
对着选择器选择出来的form元素,使用serialize这函式後
其回传值就是原本submit表单时所会传送的资料了
所以可以直接拿来当成jQuery.post的data使用、传送
这样就解决了在IE底下live+submit事件无法使用的遗憾
(感谢上篇回应我文章的网友,你让我知道要乾脆的放弃这函式XD)
所以我现在的做法是
将原本submit按钮换成一般type为button的按钮(避免表单的送出)
再将其click事件使用live连上自制function
里面先用一个变数承接该form的serialize函式取得的发送值
然後使用Post方法传递给php,再将回传值填至目标内
这部分完成!
: jQuery的选取器有回传值吗?
也是自问自答
看了黑暗执行绪在MSDN上的教学文件後
(叫[边看边学jQuery系列])
选择器有回传值
回传的就是选到的物件
而且同样可以使用直接选择器後面能接的方法(如parents)
所以似乎可以一选再选
这问题好像很基本
希望可以对跟我一样菜的人有帮助
才不会卡这麽久
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.163.202