【问题标题】:JavaScript - Submitting to database after checkingJavaScript - 检查后提交到数据库
【发布时间】:2014-12-13 10:01:09
【问题描述】:

我已经进行了一些验证,因此它会检查文本字段是否为电子邮件地址。我的下一个任务是当输入正确时将其发送到我的 php 文件,该文件将数据发送到数据库。

有什么想法吗?

  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)。

有什么想法吗? 谢谢

【问题讨论】:

  • 你需要改变你的action属性:action="DB.php"
  • 仅供参考,除了您进行的任何客户端验证之外,始终在服务器端进行验证。
  • @jeroen 当我这样做时它会正确验证但仍会插入数据库
  • 谢谢你的完美工作。

标签: javascript php mysql validation xhtml


【解决方案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; }

【讨论】:

    【解决方案2】:

    您的操作属性需要指向所需的 PHP 文件名。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2022-01-24
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      相关资源
      最近更新 更多