php
  • html
  • css
  • 2012-12-11 58 views 0 likes 
    0

    有一个形式表低于其包含形式元素,如文本输入和验证消息对齐文本输入和标签:如何在验证出现

    $error_user = (!empty($errors['user']))?$errors['user']:""; 
    $error_email = (!empty($errors['email']))?$errors['email']:""; 
    
          echo "<form action='./forgotpass.php' method='post'> 
          <table> 
          <tr> 
          <td></td> 
          <td id='errormsg'>$errormsg</td> 
          </tr> 
          <tr> 
          <td>Username</td> 
          <td><input type='text' name='user' value='$user'/><br/>".$error_user."</td> 
          </tr> 
          <tr> 
          <td>Email</td> 
          <td><input type='text' name='email' value='$email'/><br/>".$error_email."</td> 
          </tr> 
          <tr> 
          <td></td> 
          <td><input type='submit' name='resetbtn' value='Reset Password' /></td> 
          </tr> 
          </table> 
          </form>"; 
    

    现在我显示以下相关文本输入中的每个确认消息,但问题在于allignment。如果我现在正在显示文本输入下方的消息,则文本输入向上移动一点以占据下面的验证消息空间,这意味着文本输入不会与其标签齐平,例如Email文本输入未对齐在出现验证时使用此标签。

    我的问题是,我如何才能获取标签和文本输入保持相互一致时,在下面显示

    +0

    你为什么不为每个验证消息的新潮流? –

    +0

    @Ravi没想到那个 – user1881090

    回答

    1

    验证消息如果您使用此:

    echo "<form action='./forgotpass.php' method='post'> 
         <table> 
         <tr> 
         <td></td> 
         <td id='errormsg'>$errormsg</td> 
         </tr> 
         <tr> 
         <td valign='top'>Username</td> 
         <td valign='top'><input type='text' name='user' value='$user'/><br/>Username Error</td> 
         </tr> 
         <tr> 
         <td valign='top'>Email</td> 
         <td valign='top'><input type='text' name='email' value='$email'/><br/>Email Error</td> 
         </tr> 
         <tr> 
         <td></td> 
         <td><input type='submit' name='resetbtn' value='Reset Password' /></td> 
         </tr> 
         </table> 
         </form>"; 
    

    你应该得到的样子你要。消息扭曲行的原因是因为它正在放大一个单元格,因此具有标签的单元格在中间垂直对齐。请注意0​​?这会将所有内容都推到单元格的顶部,因此第一行中的所有内容都将排成一行。

    看到这个JSFiddle

    +0

    小提琴是空白的 – user1881090

    +0

    @ user1881090那就是我的坏!答案已更新。 – George

    +0

    谢谢最佳答案 – user1881090

    0

    添加style="vertical-align: top"所有TD标签。您可能还需要为标签单元添加一点填充,以便将它们与输入框中的内容正确对齐。

    0

    创建另一个<td>元素显示错误消息像这样的编辑

    <tr> 
    <td>Username</td> 
    <td><input type='text' name='user' value='$user'/></td> 
    <td>".$error_user."</td> 
    </tr> 
    
    +0

    他希望在输入标记下面显示验证消息,而不是在他们面前 –

    0

    此外,除了一切都提到,如果没有别人去你的话,我会尝试添加在空TD就像一个空间这样的:

     <td>&nbsp;</td> 
         <td id='errormsg'>$errormsg</td> 
    

    它会使事情均匀分布

    相关问题