Javascript 用java脚本进行表单验证

Javascript 用java脚本进行表单验证,javascript,php,html,Javascript,Php,Html,试图验证表单,但我一直面临问题。这是密码 HTML: 目前我不知道它为什么要提交,所以我也在添加php代码 if(isset($_POST['submitsignup'])){ $date = array(); if($_POST['email']=='' || $_POST['password']=='' || $_POST['first_name']=='' || $_POST['last_name']==''){ $template->error="Please fill

试图验证表单,但我一直面临问题。这是密码 HTML:

目前我不知道它为什么要提交,所以我也在添加php代码

if(isset($_POST['submitsignup'])){

$date = array();

if($_POST['email']=='' || $_POST['password']=='' || $_POST['first_name']=='' || $_POST['last_name']==''){
    $template->error="Please fill all fields";
           }}

我在signup.php文件中添加了这段代码以进行额外检查,但我看到strightup提交给signup.php。

编辑:更新问题的更新答案

您的问题可能与以下事实有关:

var emails = document.getElementById("email").value;
elseif
之前,如果elseif流动,则可能会中断

请尝试改用以下代码:

function validation(){
    var emails = document.getElementById("email").value;
  if(emails=="" || document.getElementById("password").value=="" || document.getElementById("last_name").value=="" || document.getElementById("first_name").value==""){
        document.getElementById("mg").innerHTML="Fill all fields";
        return false; 
    }
    else if(emails.indexOf('@') <= 0){
        document.getElementById('mg').innerHTML =" ** @ Invalid Position";
        return false;
    }
    else if((emails.charAt(emails.length-4)!='.') && (emails.charAt(emails.length-3)!='.')){
        document.getElementById('mg').innerHTML =" ** . Invalid Position";
        return false;
    }
    else {
        document.getElementById("regForm").submit();
    }
}
函数验证(){
var emails=document.getElementById(“email”).value;
如果(电子邮件=“”| | document.getElementById(“密码”)。值=“”| | document.getElementById(“姓氏”)。值=“”| | document.getElementById(“姓氏”)。值=“”){
document.getElementById(“mg”).innerHTML=“填写所有字段”;
返回false;
}
else if(emails.indexOf('@')请尝试:

<input type="button"
编辑:否则.submit()函数就没用了。
-2?告诉我为什么使用.submit()如果表单已经是提交类型?

@ahsan因为它只是一个打字错误,最好删除这个问题。它不会真正教会任何人未来的任何东西。@amopt请不要回答离题问题,将它们标记为离题问题。等等,我已经解决了这个问题,但问题仍然存在。我爱你,兄弟。谢谢alot@Luca我不知道打字是怎么想的ed离题(我对回答游戏不熟悉),以后我将不再这样做。但是,因为有一个后续的答案,我想保留它。如果您检查了错误和控制台,您会发现导致这一问题的原因是一个简单的印刷错误,这与Stack的策略无关。它的类型是submit,那么为什么要使用.submit()?无论如何,表单将提交type=“submit”的原因。现在它根本不提交。您可以在每个if/else if中插入console.log进行调试,以检查上一个条件为何不起作用
var emails = document.getElementById("email").value;
function validation(){
    var emails = document.getElementById("email").value;
  if(emails=="" || document.getElementById("password").value=="" || document.getElementById("last_name").value=="" || document.getElementById("first_name").value==""){
        document.getElementById("mg").innerHTML="Fill all fields";
        return false; 
    }
    else if(emails.indexOf('@') <= 0){
        document.getElementById('mg').innerHTML =" ** @ Invalid Position";
        return false;
    }
    else if((emails.charAt(emails.length-4)!='.') && (emails.charAt(emails.length-3)!='.')){
        document.getElementById('mg').innerHTML =" ** . Invalid Position";
        return false;
    }
    else {
        document.getElementById("regForm").submit();
    }
}
<input type="button"
type="submit"