作者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)