我在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
属性和水印属性。
请参阅http://jsfiddle.net/ekWG9/
.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/
在文本框后面,您似乎在谈论水印文本。
您可以使用ajaxcontrol工具包中的TextBoxWatermark。
还有几个jQuery替代方案可以实现它
html5还支持浏览器水印:
<input name="q" placeholder="Go to a Website">
您可以为控件添加一个属性以达到该效果。
将css用于此目的:
span.clsRequired {
float:left;
margin:2px 0 0 3px;
color:red;
}
你的跨度前文本框看起来像:
<span class="clsRequired ">*</span>
you should try something like this
<body>
<form id="form1">
<asp:TextBox ID="TextBox1" runat="server"/> <span>Required field</span>
</form>
</body>