Php ";“必需”;属性don';不行。只有当我删除;“价值”;属性

Php ";“必需”;属性don';不行。只有当我删除;“价值”;属性,php,html,Php,Html,我试图在表单中的一些输入中添加一个“required”属性,但它就是不起作用。它工作的唯一方法是从输入中删除“value”属性,但这是必需的 <form id="contact-form" method="POST" action=" <?php echo htmlspecialchars($_SERVER[" PHP_SELF "]) ?>" role="form"> <div class="row"> <div class="

我试图在表单中的一些输入中添加一个“required”属性,但它就是不起作用。它工作的唯一方法是从输入中删除“value”属性,但这是必需的

<form id="contact-form" method="POST" action=" <?php echo htmlspecialchars($_SERVER[" PHP_SELF "]) ?>" role="form">
    <div class="row">
        <div class="col-md-6">
            <label for="firstname">Prenom<span class="blue">*</span></label>
            <input type="text" name="firstname" class="form-control" placeholder="votre prenom" value=" <?php echo $firstname ?>" required>
            <p class="comments">Message d'erreur</p>
        </div>
        <div class="col-md-6">
            <label for="lastname">Nom<span class="blue">*</span></label>
            <input type="text" name="lastname" class="form-control" placeholder="votre nom" value=" <?php echo $name ?>" required>
            <p class="comments">Message d'erreur</p>
        </div>
        <div class="col-md-6">
            <label for="email">Email<span class="blue">*</span></label>
            <input type="text" name="email" class="form-control" placeholder="votre email" value=" <?php echo $email ?>" required>
            <p class="comments">Message d'erreur</p>
        </div>
        <div class="col-md-6">
            <label for="phone">Téléphone<span class="blue"></span></label>
            <input type="text" name="phone" class="form-control" placeholder="votre email" value=" <?php echo $phone ?>">
            <p class="comments">Message d'erreur</p>
        </div>
        <div class="col-md-12">
            <label for="name">Message<span class="blue"></span></label>
            <textarea id="message" name="message" class="form-control" placeholder="Votre message" rows="3" value=" <?php echo $message ?>"></textarea>
            <p class="comments">Message d'erreur</p>
        </div>
        <div class="col-md-12">
            <p class="blue"><strong>*Ces informations sont requises</strong></p>
        </div>
        <div class="col-md-12">
            <input type="submit" class="button" value="envoyer">
        </div>

    </div>
    <p class="thankyou">Votre message a été bien envoyé, Merci de m'avoir contacté</p>
</form>

删除值属性中的空格,该空格告诉浏览器该字段中有值,因此所需属性和占位符属性不起作用

改为

value="<?php echo @$firstname ?>"
value=“”

value=“”

在所有输入字段中,您可以使用@before php变量,该变量用于避免错误通知。

示例中的Required属性非常有效。必需的属性角色是确保字段已完成(不为空)。由于您已经为字段准备好了值,那么这些字段就完成了。您可能正在寻找一个javascript代码来对值进行更多检查。你正在观察的确切行为是什么?你期待着什么?@David,我期待着“请填写表单”消息弹出,但它没有弹出。@MehdiJilali:当你期待时,有没有字段是空的?代码意味着所有字段都有值。@Andrei感谢您的解释,听起来逻辑是value属性将自动取消所需的属性角色,因为默认情况下它已经有值了。谢谢,它现在起作用了,即使value属性仍然存在。谢谢。为什么对这个答案投反对票
value=" <?php echo $firstname ?>"