Re: [問題] jQuery的form套件

看板Ajax作者 (還在想)時間15年前 (2009/07/19 00:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
回答我自己問的問題... ※ 引述《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
文章代碼(AID): #1AOVo1kt (Ajax)
文章代碼(AID): #1AOVo1kt (Ajax)