如何防止企业在html中提交表单清空输入?

How to prevent forms from emptying inputs by submiting the form in html?

我正在使用 php 和 html 编写表格。 此表单具有验证控件。 当我提交表单时,所有文本框都会变空,如果用户填写了例如 5 个输入中的 3 个,因为如果这两个输入 he/she 现在必须再次填写这 3 个输入。 如何通过提交表单来防止表单清空输入?

我想到了javascript:

function validateForm() {
     var x = document.forms["myForm"]["fname"].value;
     if (x == null || x == "") {
         alert("Name must be filled out");
         return false;
     }
 }

您可以找到所有关于:http://www.w3schools.com/js/js_validation.asp

效果很好,当用户让该字段为空时,它会说:"Name must be filled out"。在您填写之前,提交不会执行任何操作...

//抱歉英语不好

如果您的验证脚本和表单代码在同一个文件中,您只需将 $_POST 值放入表单即可。

<?php
$field1 = '';
$field2 = '';
...
$field5 = '';
if($_SERVER['REQUEST_METHOD']=="POST"){
    $field1 = $_POST['field1'];
    $field2 = $_POST['field2'];
    ...
    $field5 = $_POST['field5'];

    if(validation is true){
     //do something
    }
}
    ?>

    <form method="post">
       <input type="text" name="field1" value="<?= $field1 ?>" >
       <input type="text" name="field2" value="<?= $field2 ?>" >
        ...
       <input type="text" name="field5" value="<?= $field5 ?>" >
       <input type="submit" value="submit" >
    </form>

评论 RiggsFolly 后编辑。

检查是否在 $_REQUEST 数组中设置了表单字段,并相应地打印它的值

<form method="post">
    <input type="text" name="field1" value="<?php echo (isset($_REQUEST["field1"])? $_REQUEST["field1"]:""?>" >
    <input type="text" name="field2" value="<?php echo (isset($_REQUEST["field2"])? $_REQUEST["field2"]:""?>" >
    ...
    <input type="text" name="field5" value="<?php echo (isset($_REQUEST["field5"])? $_REQUEST["field5"]:""?>" >
    <input type="submit" value="submit" >
</form>