我在ASPX页面中有一个简单的表单,它有很多<label>
和<asp:TextBox>
配对,用于构建表单的支出。
我需要在文本框后面添加一个字符串,以表明该字段是必填字段。我尝试在字段后面添加<span>
,<em>
或<div>
,但它仍会在文本框底部显示消息。
任何方式让我实现这个目标?
修改 我的意思是文本框的右侧,而不是水印的后面。我的坏。
编辑示例代码:
我已经尝试了所有的建议,但它仍然没有工作,认为这是否是我的代码问题。以下是我的代码:
<label>Telephone No.</label>
<asp:TextBox ID="txtTelNo" runat="server"></asp:TextBox>
<span class="afterInput">test</span>
任何指针?感谢。
编辑答案
事实证明问题在于css属性。我使用的模板具有分配有display: block
属性的所有输入,这使得<input>
元素之后的任何内容都被推下。
使用display: inline-block
创建自定义css类并适当地分配后,我设法得到我想要的结果。
非常感谢您提供的答案,尤其是:after
属性和水印属性。
答案 0 :(得分:2)
.required:after{
content: "*";
color: red;
}
<label>A box</label><input type="text" value="Hello" /><span class="required"></span>
<!-- alternative HTML -->
<span class="required"><label>A box</label><input type="text" value="Hello" /></span>
使用:after
伪元素选择器可以将文字内容从标记中取出(例如,您不必反复重复“*”)。
您还可以使用相对或绝对定位来调整:after
伪元素内容的位置。示例:http://jsfiddle.net/ekWG9/1/
答案 1 :(得分:1)
在文本框后面,似乎你在谈论水印文本。
您可以使用ajaxcontrol工具包中的TextBoxWatermark。
还有几种jQuery替代方法可以实现它。
html5 also has browser support for watermarks:
<input name="q" placeholder="Go to a Website">
您可以为控件添加一个属性。
答案 2 :(得分:0)
为此目的使用css:
span.clsRequired {
float:left;
margin:2px 0 0 3px;
color:red;
}
您在文本框前的跨度如下所示:
<span class="clsRequired ">*</span>
答案 3 :(得分:0)
you should try something like this
<body>
<form id="form1">
<asp:TextBox ID="TextBox1" runat="server"/> <span>Required field</span>
</form>
</body>