Javascript似乎正在改变表单字段样式

时间:2010-08-16 21:37:02

标签: php javascript html css

下面带有class="checkMax3"的表单会显示比应该低几个像素的文本。在Chrome中,小写字母“p”和“q”等字母会在字段底部下方延伸。在IE 8中,这些相同字母的底部不显示。

如果我没记错的话,我将以下Javascript应用到该字段后就开始出现此问题。

任何想法我怎么能这样做,所以像“q”和“p”这样的字母可以完全适合这个领域?该字段看起来足够高,可以包含字母,但字段中的文本似乎太低了5个像素。

提前致谢,

约翰

javascript:

<script language="javascript" type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready( function () {
    setMaxLength();     
    $("input.checkMax3").bind("click mouseover keyup change", function(){checkMaxLength(this.id); } )
});
function setMaxLength() {
    $("input.checkMax3").each(function(i){
        intMax = $(this).attr("maxlength");
        $(this).after("<div class='commchar2'><span id='"+this.id+"Counter'>"+intMax+"</span> characters remaining</div>");
        });
    }
function checkMaxLength(strID){
        intCount = $("#"+strID).val().length;
        intMax = $("#"+strID).attr("maxlength");
        strID = "#"+strID+"Counter";
        $(strID).text(parseInt(intMax) - parseInt(intCount));
        if (intCount < (intMax * .8)) {$(strID).css("color", "#006600"); } //good
        if (intCount > (intMax * .8)) { $(strID).css("color", "#FF9933"); } //warning at 80%
        if (intCount > (intMax)) { $(strID).text(0).css("color", "#990000"); } //over
    }
</script>

PHP / HTML:

echo '<form action="http://www...com/.../submit2a.php" method="post"> 
    <input type="hidden" value="'.$_SESSION['loginid'].'" name="uid">  

    <div class="submissiontitle"><label for="title">Story Title:</label></div> 
    <div class="submissionfield"><input class="checkMax3" name="title" type="title" id="title" maxlength="80"></div>  

    <div class="urltitle"><label for="url">Link:</label></div> 
    <div class="urlfield"><input name="url" type="text" id="url" maxlength="500"></div>

    <div class="submissionbutton"><input name="submit" type="submit" value="Submit"></div> 
</form>
';

CSS:

.submissionfield
    {
    position:absolute;
    width:550px;
    left:30px;
    top:230px;
    text-align: left;
    vertical-align:text-top;
    margin-bottom:10px;
    padding:2px;
    font-family: "Times New Roman", Times, serif;
    font-size: 22px;
    line-height: 30px;
    color:#000000;
    }   

1 个答案:

答案 0 :(得分:2)

您的字体太大或输入的高度和行高不够大。玩高度和行高(使它们始终匹配)和字体大小,你就可以得到它。

修改

我看到了你的问题。具有height,font-size和line-height样式的类.submissionfield不是输入。那个班级是div。将类似的样式应用于类.checkMax3,它应该看起来很好。