Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript验证后的表单提交_Javascript_Php_Html_Forms_Validation - Fatal编程技术网

Javascript验证后的表单提交

Javascript验证后的表单提交,javascript,php,html,forms,validation,Javascript,Php,Html,Forms,Validation,我想在使用JavaScript验证表单后,将表单提交到名为reg.PHP的PHP文件中。HTML表单如下所示: HTML表单: <form method="post"> <input type="text" id="username" name="username"></input> <button type="button" onclick="val()">Sign Up</button> </for

我想在使用
JavaScript
验证表单后,将表单提交到名为
reg.PHP
PHP
文件中。
HTML
表单如下所示:

HTML表单:

<form method="post">
   <input type="text" id="username" name="username"></input>        
   <button type="button" onclick="val()">Sign Up</button>
</form>

HTML代码

<form method="post" onsubmit="return val()">
     <input type="text" id="username" name="username">       
     <button type="submit" >Sign Up</button>
 </form>
function val(){

     var uname = document.getElementById('username').value;
     if(!uname){
         document.getElementById("error").innerHTML = "Enter a username";
         return false;
     }
     else{
         return true;
     }
}

这里是,您需要获取表单元素并
submit()
它,因此您需要将id添加到表单中,并将
action
属性添加到
reg.php
文件中:


您可以在else块中放入returntrue语句,然后将表单更改为this

<form method="post" action="reg.php">
   <input type="text" id="username" name="username"></input>        
   <button type="submit" onclick="return val()">Sign Up</button>
</form>

注册

您可以在else部分中以
名称
的形式提交

document.myForm.submit();

标记

<form method="post" name="myForm">.....</form>
。。。。。
只需在
中添加
action=“reg.php”
,并在
onclick
上添加
return val()
函数,还可以使
type=“submit”
形成提交,如:

<form method="post" action="reg.php">
   <input type="text" id="username" name="username"></input>        
   <button type="submit" onclick="return val()">Sign Up</button>
</form>

如果将按钮更改为
type=“submit”
并将
onclick=“return val();”
,则表单将自动提交,除非函数返回
false
(验证失败时也是如此)。只需将
action=“reg.php”
添加到表单元素中。好吧,我有一个问题..在表单中,您使用的是onsubmit,然后您使用的是带有onclick的按钮类型?你能和答案分享一些信息吗?那就太好了。对不起,我的问题。让我解释一下,我现在是这样回答的,有人给我发了一些信息,比如如果你批准了一些更改,我想修改的只是形状而不是脚本,但他更改了它,所以我编辑了我的原始答案。但我的问题是,当你不使用submit按钮时,你正在调用submit函数。很抱歉,我不擅长php,所以请不要介意。Thanxy你是对的,它应该是type=“submit”,我会更改它,谢谢有时,在这个问题上,我不深入代码,因为我认为问的人是被覆盖的,所以我照原样复制了它,但是我错了,请记住把动作加进去。
document.myForm.submit();
 var uname = document.getElementById('username').value;
 if (!uname) {
      document.getElementById("error").innerHTML = "Enter a username";
      return false;
 } else {
      document.myForm.submit(); // Form will be submitted by it's name
 }
<form method="post" name="myForm">.....</form>
<form method="post" action="reg.php">
   <input type="text" id="username" name="username"></input>        
   <button type="submit" onclick="return val()">Sign Up</button>
</form>
function val(){

    var uname = document.getElementById('username').value;
    if(!uname){
        document.getElementById("error").innerHTML = "Enter a username";
        return false;
    }
    else{
        return true;
    }
}