联系表单确认消息显示太高?

时间:2014-03-04 00:17:04

标签: javascript html css

我正在制作一个网站上有两种不同的表格,我不确定究竟是什么导致了这个问题。

表格1:http://www.escalateinternet.com/contact

表格2:http://portal.escalateinternet.com/request-call.php

如果单击要提交的按钮(不输入任何信息),则在表单1中,您会看到一条错误消息,显示我想要的方式。

但是,如果单击要提交的按钮(不输入任何信息),则在表单2中,您会看到一条错误消息,但它显示的形式与表单1中的消息相比要高得多。

我似乎无法弄清楚CSS,Javascript或HTML是否真的会导致这种情况发生。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

我能找到的唯一快速解决方案是添加

style="margin-bottom: -40px;"

到你的第一个表格div errorcontainer

所以它看起来像

<div class="errorcontainer" style="margin-bottom: -40px;"></div>

是的,有时你也可以这样做。

答案 1 :(得分:0)

这里给出的另一个答案确实解决了你的问题,虽然这是一个一次性的解决方案,如果你将来继续遇到这个问题,可能会被证明是一个麻烦。 (老实说,我通常不喜欢内联样式,因为它们模糊了演示和内容之间的界限。)

问题实际上在于位于错误消息正上方的<textarea>。如果您使用Web开发人员工具查看它们,您会注意到正在进行的操作,应用了margin-bottom的20px - 对于不能正常工作的情况,情况并非如此。此边距是在“slickform-standalone.css”中应用于.slickwrap input, textarea, select的样式的结果。如果没有此margin-bottom,则错误消息会显示在<textarea>的底部附近,导致其显示为“太高”。

这是因为您在第二个网页中加入了“bootstrap.css”。应用于BootStrap框架中<textarea>的默认样式包括margin:0,覆盖之前20px的margin-bottom

那么,如何解决这个问题呢?一个简单的,可能是最好的解决方案是从第二页中提取“bootstrap.css”。由于你没有在两个页面上都有它,我将假设它不是网站设计的基础。如果您确实需要针对该网页上的特定元素的特定样式,请隔离这些样式并仅包含它们。将一个完整的CSS框架包含在网页中仅仅是为了几个元素并不是一个好主意,因为发送给客户端需要很多额外的东西,并且意外的样式(例如你在这里看到的样式)必然会导致问题。

如果你真的开始在那里保留“bootstrap.css”,你可以简单地在两个<textarea>元素上应用一个样式(或者只是修改它现有的定义):

.largertextarea{
    margin-bottom: 20px;
}

这将覆盖导致问题的BootStrap样式,因此您的<textarea>元素将继续具有低于它们的20px,并将持续按下错误消息。

希望这有帮助!如果您有任何问题,请告诉我。

编辑:不要忘记删除内联应用于您的错误消息的否定margin-bottom,否则您的错误消息仍会显示为关闭。