我正在用JavaScript (jQuery)验证一些输入框(type="text")。
它们位于单击按钮时出现的$('').dialog()框中。
当我第一次显示对话框时,我的验证码一切正常:
function verifyContactForm() {
formValid = true;
txtSubject = $('#txtSubject');
txtRoom = $('#txtRoom');
txtMessage = $('#txtMessage');
if (txtSubject.val() == "") {
formValid = false;
txtSubject.css('border-color', 'red');
}
else
txtSubject.css('border-color', 'lightgray');
if (txtRoom.val() == "") {
formValid = false;
txtRoom.css('border-color', 'red');
}
else
txtRoom.css('border-color', 'lightgray');
if (txtMessage.val() == "") {
formValid = false;
txtMessage.css('border-color', 'red');
}
else
txtMessage.css('border-color', 'lightgray');
return formValid;
}在用户结束对话并且一切都有效之后,它使用ajax调用将数据发送到服务器。
现在,当用户再次打开对话框时,没有重新加载页面,在我的文本元素中,旧文本仍然存在。文本不会显示在输入框中,但当我使用.val()选择文本时,它仍然包含旧文本。
有人知道为什么会这样吗?
我认为这与缓存有关,但我不确定,所以我问这个问题。
发布于 2012-08-04 20:17:30
这个问题可以用这个解决方案来解决。
主要的问题是,当你没有适当地关闭对话框并将其从DOM中删除时,你将会遇到一些问题……
jquery: How to completely remove a dialog on close
这个链接显示了我的意思。
发布于 2012-07-26 16:21:25
打开对话框或发送数据后调用form_element.reset()。
https://stackoverflow.com/questions/11664939
复制相似问题