我有两个关于Javascript的问题:
我有一个表单,其中包含onsubmit值“ return validate()”。如果validate()在字段中发现错误,则返回false,这应该停止表单提交。确实如此,但我的所有字段都被清除了,浏览器忽略了我在return语句之前运行的Javascript,比如document.write。例如:
function validate() {
//If there's an error:
document.write("Error!");
return false; }
我该如何防止这种情况?
我不仅没有在一个Javascript提示符()中输入几个输入,而且还在提示窗口中放置一个可提交的表单。我有一种感觉,使用Javascript是不可能的,并且想知道如何实现这一点。
感谢。
答案 0 :(得分:1)
1)使用alert或elements内部文本来显示错误而不是document.write。文档写清除DOM并写入指定的内容,这样您就会丢失表单数据。
使用
function validate() {
//If there's an error:
document.getElementById('errorDiv').innerText = 'your error message';
return false; }
2)如果你谈论原生提示窗口,那么答案是否定的。如果你谈论JS pop-up然后是的,你可以把表单放在弹出窗口中。 Pop就像任何浏览器窗口一样,你可以在其中显示任何html页面。
答案 1 :(得分:0)
onsubmit="return validate()"
没问题。您的字段必须清除另一个原因。你的validate()
函数有什么作用?除非您的提交按钮实际上是一个重置()按钮 - 或者某处存在JavaScript错误,并且无论如何都要提交表单(请在浏览器中查看JavaScript控制台)。