PHP 验证 X 个输入字段

php validate X number of input fields

本文关键字:输入 字段 验证 PHP      更新时间:2023-09-26

我在HTML页面上打印数据库内容,如下所示:

<form name="result_form" action="dostuff.php" onsubmit="return validateResult()" method="post">
    <table>
    <?php
    $my_object_array = getStuffFromDatabase();
    for ($x = 0; $x < count($my_object_array ); $x++) {
        echo '<tr>';
        echo '<td>';
        echo 'Hemmalag:  <input type="number" id="result' . $x. '" name="result' . $x . '" value = "' . $my_object_array[$x]->getResult(). '"></input>';
        echo '</td>';
        echo '</tr>';
        }
        ?>
    </table>
    <button type="submit">Save</button>
</form>

我想使用 javascript 验证所有这些输入元素。这些字段将被检查为不为空。我不会使用必需的,因为 Safari 不支持它。我在想这样的事情:

form_validate.js:

function validateResult(){
    var row_count = document.getElementById("row_counter").value;
    var validate_success = true;
    for (i = 0; i < row_count; i++) {
        var tmp_home_result = document.getElementById("result" + i).value;
        if(tmp_home_result == "" || tmp_home_result == null){
            validate_success = false;
        }
    }
return validate_success;
}

但是,这似乎不起作用。表单仍在传送到服务器。这是怎么回事?

"show_result_new_result_home_team"id 在哪里,你也需要把它交给输入框。希望这会起作用。

我已经编辑了您的脚本,它工作正常。请使用这个。

function validateResult(){
   var row_count = document.getElementById("row_counter").value;
   for (i = 0; i < row_count; i++) {
      var tmp_home_result = document.getElementById("result" + i).value;
      if(tmp_home_result == "" || tmp_home_result == null){
         return false;
      }
   }
    return true;
}

尝试验证.js jquery 插件

<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.min.js"></script>
<form class="cmxform" id="commentForm" method="get" action="">
   <fieldset>
      <legend>Please provide your name, email address (won't be published) and a comment</legend>
      <p>
         <label for="cname">Name (required, at least 2 characters)</label>
         <input id="cname" name="name" minlength="2" type="text" required>
      </p>
      <p>
         <label for="cemail">E-Mail (required)</label>
         <input id="cemail" type="email" name="email" required>
      </p>
      <p>
         <label for="curl">URL (optional)</label>
         <input id="curl" type="url" name="url">
      </p>
      <p>
         <label for="ccomment">Your comment (required)</label>
         <textarea id="ccomment" name="comment" required></textarea>
      </p>
      <p>
         <input class="submit" type="submit" value="Submit">
      </p>
   </fieldset>
</form>
<script>
   $("#commentForm").validate();
</script>