2014-10-17 46 views
-1

我做了一些验证,以便检查文本字段是否为电子邮件地址。我的下一个任务是当输入正确时,它将它发送到我的php文件,该文件将数据发送到数据库。JavaScript - 检查后提交到数据库

任何想法?

JS: <script> 
    function validateForm() { 
var x = document.forms["reg"]["User"].value; 
var letters = "@"; 
if (x.match(letters)) 
{ 
    alert("Can't Have Email Address As USERNAME!"); 
} 


    } 


     </script> 

XHTML部分:

<form name="reg" action="Register.html" onsubmit="return validateForm()" method="post"> 

所以当文本字段不包含 “@” 我希望将数据发送到(db.php中)。

任何想法? 感谢

+0

你需要改变你的'action'属性:'动作=“db.php中“' – jeroen 2014-10-17 18:50:13

+0

Fyi,除了你所做的任何客户端验证外,总是在服务器端进行验证。 – forgivenson 2014-10-17 18:50:38

+0

@jeroen当我这样做,它验证正确,但仍然插入数据库 – user3045496 2014-10-17 18:53:13

回答

1

你需要改变两件事情:

  1. 你需要改变你的action属性,这样的形式职位,以正确的脚本:action="DB.php"
  2. 你需要从返回一个布尔值,你javascript函数;当返回false形式提交将被取消:

    function validateForm() { var x = document.forms["reg"]["User"].value; var letters = "@"; if (x.match(letters)) { alert("Can't Have Email Address As USERNAME!"); return false; } return true; }

0

你的动作属性需要在需要的PHP文件名必须指出。

<form name="reg" action="DB.php" onsubmit="return validateForm()" method="post"> 

您还需要return false在JavaScript中,如果你不想提交表单,因为这将覆盖默认事件

相关问题