使用Javascript和PHP验证表单时出现问题

时间:2011-07-13 16:40:23

标签: php javascript forms validation

好的,所以我想在用PHP验证之前用Javascript验证表单。如果Javascript函数,我们称之为validate(),检测错误,我想阻止PHP执行。

我知道只有一种方法可以让我这样做: 使用链接而不是提交按钮,如下所示:

<a href="javascript:validate()">Login </a>

这可能是函数validate():

function validate() {
//Do all the validation
document.form_name.submit(); }

然而,这有一个问题:我的PHP脚本无法知道提交表单的确切时间。没有Javascript,我会这样做:

if ($_POST[button_name]) 

现在,没有提交按钮,因此表达式已过时。

所以,总的来说,我的问题是:

如何使用Javascript验证表单并阻止在验证错误时执行PHP验证?

4 个答案:

答案 0 :(得分:3)

你应该有一个提交按钮,这样即使没有启用js的用户仍然可以发送表单,它将由php验证。

使用js,您可以阻止表单提交,然后检查验证并在正确验证后提交。

答案 1 :(得分:2)

  

我知道只有一种方法可以让我这样做:使用链接而不是提交按钮

表单上有一个submit事件就是为了这个目的。您挂钩事件,如果表单无效,请取消提交。然后你可以使用提交按钮。

答案 2 :(得分:1)

除非有效,否则不要提交表格。

 function validate() {

     var isValid = true;
     //Do all the validation
     if(isValid)
     {
        document.form_name.submit(); 
     }
    }

答案 3 :(得分:0)

使用onsubmit =“return validate()”来验证html表单或使用submit()提交表单;一个javascript方法