jquery - 为什么同样的代码在不同的页面显示不同?

标签 jquery css xhtml

您好,有一个由 jquery 驱动的小条目表单。它在 90% 的页面上工作正常,但在两个页面上,提交按钮不对齐。我检查了工作页面和非工作页面上的 html 和 jquery,看不出有什么区别。我会很感激另一双眼睛看看是什么导致“提交”按钮离得太远。

这是一个工作页面(滚动到底部的时事通讯注册表单):view page

这是无法正常工作的页面:view page

这是表单的 html:

<div id="news-signup">
      <div id="entry">
          <input type="text" id="your-email" name="your-email" value="YOUR EMAIL ADDRESS" onfocus="if (this.value=='YOUR EMAIL ADDRESS') this.value='';" />
          <input type="submit"  value="::Submit Query::" id="red-submit" />
      </div>
    </div>

这是执行换出的 jquery:

$(document).ready(function() {
    var emailInput = $("#your-email");

    emailInput.focus(function() {
        //  THREE = !
        if(this.value === "YOUR EMAIL ADDRESS") {
            this.value = "";
        }
    });

    emailInput.blur(function() {
        if(this.value === "") {
            this.value = "YOUR EMAIL ADDRESS";
        }
    });

    $("#red-submit").click(function() {
        $.ajax({
            type: 'POST',
            url: 'news.php',
            data: {
                'your-email': emailInput.val()
            },
            success: function() {
                var image = $('<img />').attr({src:'_images/register-thanks.png', width:332, height:35, alt:"Success"});
                $('#news-signup input').hide();
                $('#news-signup').append(image);                
            }
        });
    });
});

这是用于定位的 CSS:

#news-signup #entry,
#news-signup form                   { 
        width:335px; 
        height:35px;  
        position: absolute;
        top: 52px;
        left: 590px;
        }


#news-signup input#your-email       { 
        width: 195px;
        height: 20px;
        position: relative; 
        top: 5px; 
        left: 0; 
        -moz-border-radius: 5px; 
        -webkit-border-radius: 5px;
        border: 1px solid #cbcbcb; 
        font: 14px "Trebuchet MS", Helvetica, sans-serif;
        color: #cbcbcb; 
        }   
#news-signup img                    { position: absolute; top: 50px; left: 600px; }                                                                 

input#red-submit                    {
            width: 90px;
            height: 30px;
            border-style: none;
            text-indent: -9999px; 
            position: relative;
        top: -20px;
        left: 250px; 
        cursor: pointer;
        font-size: 0;
        line-height: 0;
        background-color: transparent;
        background-image: url(../_images/btn_submit-red.png); 
        }

感谢您的帮助!

最佳答案

我用 firebug 比较了每个元素应用的 CSS 样式,页面之间没有差异。然后我试图通过逐段删除内容来消除其余代码中的错误,但它也没有任何区别。删除后,只剩下表单本身的代码。

表单中的 HTML 代码本身存在一些错误,可能是一个不可见的控制字符。当我从表单工作的页面获取表单代码并将其粘贴到非工作表单的页面时,它就可以工作了。

关于jquery - 为什么同样的代码在不同的页面显示不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3998969/

相关文章:

XHTML 元描述和带有 lang 属性的关键字

html - 使用 XSLT 识别特定的 XHTML 单元格,并在找到它们后修改它们的属性

javascript - 如何将 Jquery Chaining 应用于多父方法

javascript - 如何获取鼠标所在位置的所有元素?

javascript - 如何在不在段落中产生间隙的情况下正确连接字符?

javascript - 隐藏滚动条但可以用鼠标滚动

php - 关于 wordpress 问题的 Bootstrap 流体布局

JQuery 回调函数

HTML5/CSS3 - 在 SVG CSS3 动画中在自己的中心旋转 HTML 路径矢量绘图

css - IE8 对透明 png 的渲染在我的网站上是 FUBARed