我有一个表单,在它通过 jquery 呈现后我正在修改它 - 只是因为我无法控制创建表单的代码。
无论如何,我在作为表单一部分的登录按钮旁边添加了一个按钮。为了做到这一点,我正在使用以下 jquery:
$('.mynewbutton').hide();
$(".submit").addClass("buttonalign");
$('<div class="shared">').insertBefore($('.submit'));
$('.submit').after($('<div class="circle circlealign">i</div>'));
我添加的新按钮实际上是我使用 css 绘制的一个圆圈。这很好用 - 新按钮与登录名对齐。这是CSS:
.shared {
position: absolute;
width: 200px;
}
.buttonalign {
position: absolute;
top:340px;
}
.circlealign {
position: absolute;
top:340px;
}
我需要解决的问题是当登录表单返回错误消息时,它会在表单顶部显示错误并将所有内容下推。所以我的登录按钮和新按钮最终覆盖了表单上的其他一些元素,因为它们的位置是固定的。
我将固定数字更改为百分比和 em,如下所示:
.shared {
position: absolute;
width: 100%;
}
.buttonalign {
position: absolute;
top:40em;
}
.circlealign {
position: absolute;
top:40em;
}
但这改变了新按钮的位置,使其不再与登录按钮对齐。它在页面上的位置较低。
你能为我指出正确的方向吗?
谢谢。
编辑 1
这是呈现的 HTML .. 当然 jquery 的东西不会出现在这里,这很痛苦.. 但你可以看到初始表单的样子
<H1>Login</H1><DL>
<P class="err">Logon Failed</P>
<form action="/cgi-bin/logon/logon" method="POST">
<DT>User ID</DT>
<DD>
<input class=" text" type="text" name="userid">
</DD>
<DT>Password</DT>
<DD>
<input class=" password" type="password" name="password" >
</DD>
<DT></DT><DD><input class="submit" type="submit" name="submit" value="Logon">
</DD>
</FORM></DL>