关于(a)表单和(b)提示窗口的两个Javascript问题

时间:2011-07-14 19:28:00

标签: php javascript forms

我有两个关于Javascript的问题:

  • 当我尝试通过在onsubmit函数中返回false来取消表单提交时,如何防止我的字段被清除?

我有一个表单,其中包含onsubmit值“ return validate()”。如果validate()在字段中发现错误,则返回false,这应该停止表单提交。确实如此,但我的所有字段都被清除了,浏览器忽略了我在return语句之前运行的Javascript,比如document.write。例如:

function validate() {
//If there's an error:
document.write("Error!");
return false;       }

我该如何防止这种情况?

  • 我可以在提示窗口(弹出窗口)中有一个表单吗?

我不仅没有在一个Javascript提示符()中输入几个输入,而且还在提示窗口中放置一个可提交的表单。我有一种感觉,使用Javascript是不可能的,并且想知道如何实现这一点。

感谢。

2 个答案:

答案 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控制台)。