我下面有一个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;
}
答案 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()
函数很容易做到这一点。