我一直在使用验证码在我的网站上开发联系表单。可以在此处查看示例:
几年前,如果用户需要重新加载验证码图像,我当时唯一的选择就是重新加载整个表单。
自从我开始使用 jquery 以来,是时候用仅刷新图像的方法替换此方法了。
所以我写了这个小片段:
$(document).ready(function() {
$('#creload').click(function() {
$.ajax({
type: "POST",
url: "/en/KDpg_Captcha.html",
async: true,
success: function(ret) {
$('#cimg').attr('src', ret);
}
});
});
});
其中#creload
是请求重新加载的链接的ID,#cimg
是实际图像的ID。
我发现,如果填写其他表单字段然后请求重新加载,其他字段将被重置。这不是我们想要的结果。
我可能会错过什么?
最佳答案
如果 #creload 是一个链接,您需要阻止它执行默认操作,即打开 href 属性中的内容。添加e.preventDefault()停止这个。不要忘记添加 e 作为参数:
$('#creload').click(function(e) {
e.preventDefault();
// ...
关于JQuery ajax 调用重置所有表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10146384/