【问题标题】:Applying CSS to a form将 CSS 应用于表单
【发布时间】:2010-03-05 11:46:12
【问题描述】:

我无法让 CSS 应用于下面的函数。是因为它是一个表单还是因为它使用了 dl、dt 和 dd 标签?

提前致谢,

约翰

function show_loginform($disabled = false)
{

    echo '<form name="login-form" id="login-form" method="post" action="./index.php"> 

  <div class=\"logintitle\">Please login</div> 
  <dl class=\"usernamefield\"> 
    <dt class=\"siteadd\"><label title="Username">Username: </label></dt> 
    <dd class=\"siteadd\"><input tabindex="1" accesskey="u" name="username" type="text" maxlength="30" id="username" /></dd> 
  </dl> 
  <dl class=\"siteadd\"> 
    <dt class=\"siteadd\"><label title="Password">Password: </label></dt> 
    <dd class=\"siteadd\"><input tabindex="2" accesskey="p" name="password" type="password" maxlength="15" id="password" /></dd> 
  </dl> 
  <ul> 
    <li><a href="http://www...com/sandbox/register.php" title="Register">Register</a></li> 
    <li><a href="http://www...com/sandbox/lostpassword.php" title="Lost Password">Lost password?</a></li> 
  </ul> 
  <p class=\"siteadd\"><input tabindex="3" accesskey="l" type="submit" name="cmdlogin" value="Login" ';
    if ($disabled == true)
    {
        echo 'disabled="disabled"';
    }
    echo ' /></p></form>';


}

【问题讨论】:

  • 您应该使用 firebug 检查生成的 html,然后从那里查看。让我们知道:-)
  • 与这个问题不完全相关,因为我对 PHP 非常陌生,但是 PHP 人是这样编码他们的 HTML 的吗? PHP代码吐出完整的HTML?不是 HTML 代码有 php scriptlets?
  • @Teja 以上在很多层面上都是非常错误的...... :)
  • @deceze 为什么会出错?
  • 这就是 PHP 名声不好的原因... :(

标签: html css forms


【解决方案1】:

您的代码中有转义错误。仅显示摘录:

  echo ' ... <div class=\"logintitle\">Please login</div>  ... ';

您使用',但随后转义",这将导致\" 被打印给用户。当使用' 作为主引号时,您不必转义"。这可能是您的浏览器的问题,没有正确识别您的 div,因此没有应用 css。

附录:

当回显大部分内容时(如前所述,最好使用模板系统,例如 smarty),您可以关闭并重新打开 php 标签以便更好地阅读:

function show_loginform($disabled = false)
{

?>
<form name="login-form" id="login-form" method="post" action="./index.php"> 

  <div class="logintitle">Please login</div> 
  <dl class="usernamefield"> 
    ...
<?php
   if(true)
   {
      echo 'foobar';
   }
?>

   ...
  </p></form>
<?php

} // function end

而且你可以在这样做 btw 时使大多数语法荧光笔崩溃;)

【讨论】:

  • 谢谢...这是问题所在。
【解决方案2】:

除了以这种方式混合 HTML 和 PHP 之外,您的代码也足够有效。我能够将 CSS 应用于上述确切代码。问题出在您的 CSS 中。

【讨论】:

    【解决方案3】:

    这并不能解决您的问题,而是对未来编程的提示:

    没有必要将 $disabled 与 true 进行比较,因为 $disabled 已经是一个布尔值。

    if ($disabled == true){ echo 'disabled="disabled"'; }

    下面展示了对布尔类型的更多理解:

    if ($disabled){ echo 'disabled="disabled"'; }

    发布您的 CSS,它会更容易帮助您解决最初的问题...

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 2012-05-27
      • 2015-09-27
      • 2014-08-18
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 2020-08-02
      • 1970-01-01
      相关资源
      最近更新 更多