2014-11-06 72 views
2
<button type="button" onclick="submitForm()">Submit</button> 

当我按下此按钮时,它会运行一个javascript验证函数,根据某些数据是否格式正确返回true或false。如何使用JavaScript验证并使用php提交数据?

接下来我需要做的是:如果true使用php脚本将验证的数据提交给mySql数据库。

我很难过我可以做到这一点。我希望我很清楚。谢谢。

另外,我不能使用ajax。

+0

你被允许使用jQuery库吗? – 2014-11-06 06:50:15

+0

不,只是假设使用javascript,php和html&css。 – johnnyX 2014-11-06 18:16:04

回答

0

使用type = "submit"而不是button。尝试 -

<button type="submit" onclick="submitForm()">Submit</button> 

JS验证

function submitForm() { 
    //your validation codes 

    //if validates 

     return true 
    //else 

     return false; 
} 

,如果验证成功的形式将提交否则将无法提交。

+0

提交什么?另一个功能?表单标签中是否还有其他函数? – johnnyX 2014-11-06 18:21:42

+0

以其行动.. – 2014-11-07 03:06:05

-1

您需要从您的html页面添加更多详细信息。例如html表单本身。

不过只是一个(你在找什么....你可以在你的submitForm使用folling命令)功能的预感:

document.getElementById("myForm").submit(); 
+0

这应该是一个评论。不是答案。 – 2014-11-06 04:38:32

-1

我们没有太大的帮助,如果我们不看你的代码。

<button type="button" onclick="submitForm()">Submit</button> 

JS:但简而言之,你会被

document.getElementById('formId').submit(); 
0

HTML表单提交

function submitForm() { 
    if(){ //condition to validate 
    return true; 
    }else{ 
    return false; 
    } 

}

而且(作为建议),你可以添加具体的函数来验证每种类型的值,然后在的函数中调用它

-1
document.getElementById("form").submit() 
-1

我下一步需要做的是:

1->执行form.submit()

2->从你的行动文件(ACTION =“操作发送的所有数据的数据库。 php“)

+0

*“接下来我需要做的是”* ..什么..?这是一个答案还是一个*自我注释* ..? – 2014-11-06 07:08:44

0

您在函数调用中错过了return。尝试使用

<button type="button" onclick="return submitForm()">Submit</button> 
           ^

如果验证失败,则返回false

function submitForm() { 
    if(validation) // fails 
    { 
    alert("your message"); 
    return false; 
    } 
} 
-2
<script type='text/javascript'> 

    function formValidator(){ 
     // Make quick references to our fields 
     var firstname = document.getElementById('firstname'); 
     var addr = document.getElementById('addr'); 
     var zip = document.getElementById('zip'); 
     var state = document.getElementById('state'); 
     var username = document.getElementById('username'); 
     var email = document.getElementById('email'); 

     // Check each input in the order that it appears in the form! 
     if(isAlphabet(firstname, "Please enter only letters for your name")){ 
      if(isAlphanumeric(addr, "Numbers and Letters Only for Address")){ 
       if(isNumeric(zip, "Please enter a valid zip code")){ 
        if(madeSelection(state, "Please Choose a State")){ 
         if(lengthRestriction(username, 6, 8)){ 
          if(emailValidator(email, "Please enter a valid email address")){ 
           return true; 
          } 
         } 
        } 
       } 
      } 
     } 


     return false; 

    } 

    function notEmpty(elem, helperMsg){ 
     if(elem.value.length == 0){ 
      alert(helperMsg); 
      elem.focus(); // set the focus to this input 
      return false; 
     } 
     return true; 
    } 

    function isNumeric(elem, helperMsg){ 
     var numericExpression = /^[0-9]+$/; 
     if(elem.value.match(numericExpression)){ 
      return true; 
     }else{ 
      alert(helperMsg); 
      elem.focus(); 
      return false; 
     } 
    } 

    function isAlphabet(elem, helperMsg){ 
     var alphaExp = /^[a-zA-Z]+$/; 
     if(elem.value.match(alphaExp)){ 
      return true; 
     }else{ 
      alert(helperMsg); 
      elem.focus(); 
      return false; 
     } 
    } 

    function isAlphanumeric(elem, helperMsg){ 
     var alphaExp = /^[0-9a-zA-Z]+$/; 
     if(elem.value.match(alphaExp)){ 
      return true; 
     }else{ 
      alert(helperMsg); 
      elem.focus(); 
      return false; 
     } 
    } 

    function lengthRestriction(elem, min, max){ 
     var uInput = elem.value; 
     if(uInput.length >= min && uInput.length <= max){ 
      return true; 
     }else{ 
      alert("Please enter between " +min+ " and " +max+ " characters"); 
      elem.focus(); 
      return false; 
     } 
    } 

    function madeSelection(elem, helperMsg){ 
     if(elem.value == "Please Choose"){ 
      alert(helperMsg); 
      elem.focus(); 
      return false; 
     }else{ 
      return true; 
     } 
    } 

    function emailValidator(elem, helperMsg){ 
     var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/; 
     if(elem.value.match(emailExp)){ 
      return true; 
     }else{ 
      alert(helperMsg); 
      elem.focus(); 
      return false; 
     } 
    } 
    </script> 

    <form onsubmit='return formValidator()' > 
    First Name: <input type='text' id='firstname' /><br /> 
    Address: <input type='text' id='addr' /><br /> 
    Zip Code: <input type='text' id='zip' /><br /> 
    State: <select id='state'> 
     <option>Please Choose</option> 
     <option>AL</option> 
     <option>CA</option> 
     <option>TX</option> 
     <option>WI</option> 
    </select><br /> 
    Username(6-8 characters): <input type='text' id='username' /><br /> 
    Email: <input type='text' id='email' /><br /> 
    <input type='submit' value='Check Form' /> 
    </form> 
+0

*复制并粘贴到文本编辑器中*不鼓励在SO中回答格式据我所知.. – 2014-11-06 07:10:59

+0

是否有错误的代码?我认为这是很好的说明,而不是发出指示 – kki3908050 2014-11-06 07:30:45

+0

请让我知道,这样我就会更好下一次 – kki3908050 2014-11-06 07:41:21

0

做你的按钮类型,以提交并传送到形式 前这样

<form action="index.php" method="post"> 
.... 
<button type="submit" onclick="submitForm()">Submit</button> 
</form> 

在index.php文件检查mysql的验证

希望这将帮你

+0

所以submitForm()函数是JavaScript?如果是的话,当submitForm()返回true时,index.php会运行吗?我需要返回关键字吗? – johnnyX 2014-11-06 18:19:31

2

做你的按钮键入这样

<form action="update.php" method="post"> <button type="submit" onclick="submitForm()">Submit</button> </form>

提交和发送到形式EX在index.php文件检查mysql的验证

你已经错过了在函数调用的返回。试着用

<button type="button" onclick="return submitForm()">Submit</button>

验证失败时你在哪里返回false。

function submitForm() { if(validation) // fails { alert("your message"); return false; } }

2

在php文件,你可以做所有需要的mysql的验证。 的提交可以是这样的

<form action="update.php" method="post"> <button type="submit" onclick="return submitForm()">Submit</button> </form> 

请注意,在函数调用的返回。
验证失败时验证返回false。

function submitForm() { 
    if(validation) { // fails  
     alert("your message"); 
     return false; 
    } 
}