Ajax调用with只能工作两次

Ajax call with works only twice

本文关键字:两次 工作 调用 with Ajax      更新时间:2023-09-26

我有一个奇怪的。

我有一个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上也一样。

知道为什么会这样吗?

最佳Kurt

你给了我们很少的元素来帮助你。所以这只是一个猜测,下面是:

你的附加:

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

由于您在附加它之前没有清除div,因此在我看来,您正在添加具有相同id的多个div。由于浏览器以不同的方式处理多个等效id,这可能就是导致您出现问题的原因。

只能有一个ID的元素,不能有两个ID相同的元素,否则会导致冲突。所以也许这就是发生在你身上的事情