在ASP中的文本框后显示文本/标签



我在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"/>&nbsp;<span>Required field</span>
 </form>
 </body>

最新更新