【发布时间】:2017-04-29 15:54:24
【问题描述】:
我正在开发一个 Web 应用程序,但我遇到了 Ajax 返回的问题。
我可以看到AJAX返回的结果,但是我的问题是这个结果出现然后消失。我找到了一个返回 false 的解决方案,问题是一旦显示完成并返回 false,我的 div 仍保留在页面上,但我无法重用我在其上进行 onclick 的按钮(调用我的 javascript 函数等等ajax 调用)。
如果有人有解决方案。
这是代码:
<input class="Admin-Bouton" type="submit" onclick="affOtp();return false" value="Générer" form="formParametres" />
<div id="syntheseOTP"></div>
function affOtp() {
$(function(){
$.ajax({
url: 'vue/ressources/affOtp.php',
type: 'POST',
dataType: 'html',
data: { idEmploye: nom },
success: function(msg) {
console.log(msg);
document.getElementById("syntheseOTP").innerHTML = msg;
},
error: function(resu, statut, erreur) {
console.log(erreur);
alert("papa");
}
});
});
};
【问题讨论】:
-
从代码中删除
document-ready处理程序,即$(function(){ ... })并使用type="button" -
嘿 Satpal,你的回答很完美,但我必须保留 type="submit" ...我不知道你是否有解决方案
-
将 return false 放在 ajax 调用的末尾,而不是内联按钮属性。否则,您需要为 onclick 创建一个匿名函数包装器并从中返回 false。
-
@TomLgl-dcl 您的意思是说 ajax 必须更新 div 内容,并且按钮必须能够再次单击..这对您不起作用..对吗?跨度>
-
目前还不清楚您的预期行为是什么。您想在 ajax 完成后提交
form还是什么?你说:I can not reuse the button on which I made my onclick但是在你发布的代码中,如果nom没有改变,那么你通过点击同一个按钮看不到任何变化,它会一次又一次地返回相同的结果
标签: javascript jquery html ajax