Ajax调用只能工作两次

时间:2011-10-16 17:23:18

标签: javascript ajax safari

我有一个奇怪的。

我有一个div,它有一个onclick事件,调用一个函数,然后调用ajax。 在Safari中这样做可以完成两次。 使用iPhone运行相同的程序每次都能完美运行。

这就是我在做的事情:

// this is created by the Ajax call
no1 = 0;
no2 = 1;
formName = "myButton" + no1 + no2;
//newItem is what is returned by the Ajax call
newItem = "<div id=\"trainingOptions\" onclick=\"request_ajax('".$formName."')\">";
//this places the onclick event into the HTML code
document.getElementById.("myDiv").innerHTML = newItem;

所以基本上这就是一遍又一遍地放置onclick事件的方式。 当request_ajax回答时,此部分将完全相同。

现在,这在Safari中完全可以正常工作两次,并且只需点击iPhone即可。

为什么会发生这种情况?

Best Kurt

1 个答案:

答案 0 :(得分:0)

您提供的元素很少,我们可以帮助您。所以这只是一个猜测,如下:

您的追加:

newItem = "<div id=\"trainingOptions\" onclick=\"request_ajax('".$formName."')\">";

由于你在追加它之前没有清除div,在我看来你附加了多个具有相同id的div。当浏览器以不同的方式处理多个等效ID时,这可能会导致您的问题。

只应该有一个带有一个ID的元素,你不能拥有两个具有相同ID的元素,这可能会导致冲突。也许这就是你发生的事情。