【问题标题】:How can I validate with javascript and then submit data with php?如何使用 javascript 进行验证,然后使用 php 提交数据?
【发布时间】:2014-11-06 04:34:40
【问题描述】:
<button type="button" onclick="submitForm()">Submit</button>

当我按下此按钮时,它会运行一个 javascript 验证函数,该函数会根据某些数据的格式是否正确返回 true 或 false。

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

我对如何做到这一点感到困惑。我希望我很清楚。谢谢。

另外,我不能使用 ajax。

【问题讨论】:

  • 你可以使用jquery库吗?
  • 不,只是假设使用 javascript、php 和 html & css。

标签: javascript php html mysql onclick


【解决方案1】:

输入您的按钮类型以提交并发送到这样的表单

&lt;form action="update.php" method="post"&gt; &lt;button type="submit" onclick="submitForm()"&gt;Submit&lt;/button&gt; &lt;/form&gt;

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

您错过了函数调用中的返回。试试

&lt;button type="button" onclick="return submitForm()"&gt;Submit&lt;/button&gt;

验证失败时返回 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; 
       } 
    }
    

    【讨论】:

      【解决方案3】:

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

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

      js 验证

      function submitForm() {
         //your validation codes
      
         //if validates
      
             return true
         //else
      
             return false;
      }
      

      如果验证成功,将提交表单,否则将不提交。

      【讨论】:

      • 提交给什么?另一个功能?是表单标签中的其他功能吗?
      【解决方案4】:

      HTML:

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

      JS:

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

      }

      另外(作为建议)您可以添加一个特定的函数来验证每种类型的值,然后只需通过这些类型在您的函数submitForm() 中调用它

      【讨论】:

        【解决方案5】:

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

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

        验证失败时您将返回 false 的位置。

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

        【讨论】:

          【解决方案6】:

          输入按钮类型以提交并发送到表单 比如这样

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

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

          希望对你有帮助

          【讨论】:

          • 那么submitForm()函数是javascript吗?如果是,当 submitForm() 返回 true 时 index.php 会运行吗?我需要 return 关键字吗?
          【解决方案7】:

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

          不过,您正在寻找的只是预感......您可以在 submitForm() 函数中使用以下命令:

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

          【讨论】:

          • 这应该是一条评论。不是答案。
          【解决方案8】:

          如果我们看不到您的代码,我们将无能为力。但简而言之,您将通过

          提交表单
          document.getElementById('formId').submit();
          

          【讨论】:

            【解决方案9】:

            接下来我需要做的是:

            1->执行form.submit()

            2->将所有数据从您的操作文件发送到数据库 (action="action.php")

            【讨论】:

            • “我接下来要做的是”..什么..?这是一个答案还是给自己的注释 ..?
            【解决方案10】:
            document.getElementById("form").submit()
            

            【讨论】:

              【解决方案11】:
              <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>
              

              【讨论】:

              • 复制并粘贴到文本编辑器中据我所知,不鼓励在 SO 中回答格式..
              • 代码有问题吗?我认为它是很好的说明而不是给出指示
              • 请告诉我,下次我会做得更好
              • 这段代码是从哪里来的..?它有什么作用..?你怎么知道 OP 需要什么验证..? “使用 php 脚本将经过验证的数据提交到 mySql 数据库”..的部分在哪里?这不是问题的答案。这是基于假设的代码转储。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-03-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-03-30
              • 2018-12-25
              • 1970-01-01
              相关资源
              最近更新 更多