【问题标题】:Proper place for error message/hint in a html formhtml 表单中错误消息/提示的正确位置
【发布时间】:2014-04-22 04:47:26
【问题描述】:

我有一个简单的标准表格,并打算使用 javascript 的

document.getElementById("idname").innerHTML = "hint/error message";

在表单上更改/显示我的错误消息。

将错误消息放在表单上的正确位置是什么?

内部标签?标签旁边?

我是把它放在一个 div 中还是一个 span 中?

(我希望错误消息显示在输入字段的右侧。)

下面是我的表格:

<form id="registerForm" method="POST" action="register_post.php">

  <p class="form-registerUserName">
    <label for="registerUserName">User Name</label>
    <span class="required">*</span>
    <input
        id="registerUserName"
        name="registerUserName"
        type="text"
        size="24"
        maxlength="24"
        value="<?php echo $_SESSION['registerUserName'];?>"
        onkeyup="validateName()"
        onblur="validateName()"
     >
   </p>
</form>

提前致谢。

【问题讨论】:

  • 这取决于你和你的要求
  • 最标准或最流行的方式是什么?

标签: javascript html forms


【解决方案1】:

您可以在 Div 上显示错误消息以进行验证,以便您可以使用 javascript 轻松管理 div 显示/隐藏。

例如。

<div class="error" style="display: none; float:left; width:100%;" id="nameError">Please Enter User Name *</div>
<div><input type="text" id="username" name='username' class="textcss validate" style="width:95%"  placeholder="Your name can not be blank" ></div>

现在检查是否提交它的填充并显示和隐藏错误 div 以便你的 css 以正确的形式

【讨论】:

    【解决方案2】:

    通常最好使用 div 作为包装器并将错误消息放在标签中,然后将其放在输入框旁边。

    说: 用户名 * " onkeyup="validateName()" onblur="validateName()" >

    CSS

    input{
        display: inline-block;
    }
    label.error_msg{
        display: none;
        color: red;
    }
    

    【讨论】:

    • 所以我为错误信息创建了第二个标签元素?确定有 2 个标签元素用于相同的输入吗?
    • 在错误消息中使用 label、span、p 或 div 方面没有固定的约定。您可以使用它们中的任何一个,记住您需要根据您选择的元素进行的 css 更改
    • 任何提示css将第二个标签放置在输入框的右侧? (第一个标签位于框上方)
    • 第二个标签应该总是在文本框之后,这样当它可见时,它就会显示在你的文本框旁边
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    • 2022-11-18
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 2013-07-16
    相关资源
    最近更新 更多