作者alan77916 (啦~好想幸福呀~!)
看板Ajax
標題[問題] 用ajax call HTML去送form
時間Tue Oct 5 21:19:17 2010
如標題
我目前是用jquery的ajax去call出一個HTML將他塞入一個div
也就是用 變數.innerHTML=回傳的html
而我回傳的html裡面有包含一個form的表單
當我按下submit時 chrome可以正常運作
但是Firefox卻無法運作,尋求了一些協助但是都無法得到解答
想請問眾板友 有沒有解法
程式碼概略如下
ajax
267 $.ajax({
268 url: './xxx.php',
269 cache: false,
270 dateType: 'html',
271 type: 'POST',
272 data:{},
273 error: function(response){
274 alert("error "+response);
275 },
276 success: function(response){
277 //alert(response);
278 msgBox.innerHTML=response;
279 }
HTML
24 <form id="xxx" name="xxx" action="./xxx.php" method="POST"
target="_foo" onSubmit="closeWin()">
.
.
略
.
72 <input type="submit" value="送出">
先說明一下 我載進去的HTML他的js是有運作的
但是唯獨form未被送出 從firebug裡面看 並沒有做出post的動作
另外fireFox有一點很奇怪 當我把submit動作改寫成
<from id="aaa" brabrabra >
<input type="button" onclick="xxx()">
function xxx(){
document.getElementById("aaa").submit();
}
我改成這樣時 firefox居然不認得submit的動作
但是我alert(document.getElementById("aaa")) 他卻實是一個form
所以我不現在也不知道 問題點是在哪裡了
麻煩各位了<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.222.154
1F:→ TonyQ:看不到你在哪個時間點執行ajax的.. 10/05 23:42
2F:→ TonyQ:看起來環境很複雜,把原始form的html 貼出來看最實際。 10/05 23:43
3F:→ TonyQ:這個功能我很確定應該沒什麼問題,應該是有哪裡寫錯。 10/05 23:44
4F:推 JYHuang:這個功能我也很確定沒問題,我也有一些程式是這樣做的 10/06 10:06
5F:→ JYHuang:ajax回傳<form>塞到div裡去做表單送出動作 10/06 10:07
6F:→ JYHuang:你先檢查看看js的時間點(塞入form之前?之後) 10/06 10:08
uncaught exception: [Exception... "Component returned failure code:
0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXMLHttpRequest.open]" nsresult:
"0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame ::
http://XXXXX/js/jquery-1.4.2.js ::
anonymous :: line 127" data: no
跟這個錯誤訊息有沒有關係呀?
然後 我不太清楚這個錯誤的發生原因
※ 編輯: alan77916 來自: 140.123.222.154 (10/12 01:31)
7F:推 s25g5d4:改用$(selector).html(response); 10/12 18:29
8F:→ s25g5d4:selector請填入該DOM元素的selector 10/12 18:29
終於解決了 今天麻煩了我的同學一下
最後了解到是race condiction的問題
因為我把刪除生成的事件綁在onsubmit上
於是他先刪除了msgBox造成送出的事件並沒有執行
之後我將刪除的指令稍微延遲了一點點就可以了
不好意思麻煩大家了<(_ _)>
※ 編輯: alan77916 來自: 140.123.222.154 (10/13 02:42)