Textarea默认文本未正确对齐

时间:2011-06-15 23:11:17

标签: javascript textarea alignment

我下面有一个textarea。当我运行代码时,假设在刷新时textarea中的文本没有左对齐并位于顶部。这使我无法使用javascript onfocus和onblur事件,因为当我比较框中的字符串时,有额外的空格使其与“回答此问题...”有所不同有没有办法可以使这个默认文本在textarea的左边和顶部对齐,没有任何额外的空格,我认为这是从php生成的。

代码:

<textarea id ='box' autocomplete='off'> 
<?php 
    if (!$_SESSION['username']){
      echo "readonly='readonly'";
    }
?>
>
<?php 
    if (!$_SESSION['username']){ 
      echo "Login to answer...";
    } 
    else {
      echo "Answer this problem...";
}
?>
</textarea>
标题中的

#answerbox{
    height: 200px;
    width: 400px;
}

4 个答案:

答案 0 :(得分:1)

相反,您可以修改textarea的值,然后再将其与“回答此问题...”进行比较。

例如

if($.trim($('#box').val()) == 'Answer this problem...') { /* do something */ }

答案 1 :(得分:0)

嗯,您的textarea开始代码和PHP echo内容之间有很多空格。

<textarea id ='box' autocomplete='off' <?php 
      if (!$_SESSION['username']){
           echo "readonly='readonly'";
      }
  ?> ><?php 
      if (!$_SESSION['username']){ 
          echo "Login to answer...";
      } else {
          echo "Answer this problem...";
      }
    ?></textarea>

答案 2 :(得分:0)

textarea中的所有空格实际上都是作为内容呈现的(有点像&lt; pre&gt;标记内)。

为避免这种情况,请在关闭&lt; textarea ...&gt;后直接启动动态内容:

<textarea id ='box' autocomplete='off' 
                <?php 
                    if (!$_SESSION['username']){
                        echo "readonly='readonly'";
                    }
                ?>
            ><?php 
                    if (!$_SESSION['username']){ 
                        echo "Login to answer...";
                    } 
                    else {
                        echo "Answer this problem...";
                    }
                ?></textarea>

答案 3 :(得分:0)

这是因为您要从新行和标签添加额外空间。相反,你会想要这个:

<textarea id ='box' autocomplete='off' 
                    <?php 
                        if (!$_SESSION['username']){
                            echo "readonly='readonly'";
                        }
                    ?>
                ><?php 
                        if (!$_SESSION['username']){ 
                            echo "Login to answer...";
                        } 
                        else {
                            echo "Answer this problem...";
                        }
                    ?>
                </textarea>

或者,我建议在比较之前修剪值(删除前导/尾随空格)。使用jQuery的.trim()函数很容易做到这一点。