2012-09-06 55 views
0

我有一个ASPX页面中有一个简单的形式,有很多<label><asp:TextBox>配对构成的形式费用。ASP中的文本框后显示文本/标签

我有一个要求在文本框后面添加一个字符串来表示该字段是强制性的。我曾尝试在字段后面添加<span>,<em><div>,但它仍会在文本框的底部显示消息。

任何方式来实现这一目标?

编辑: 我指的是文本框的右侧,而不是后面的水印。我的错。

编辑示例代码:
我尝试了所有的建议,但它仍然没有工作,想无论是我的代码的问题或没有。以下是我的代码:

<label>Telephone No.</label> 
<asp:TextBox ID="txtTelNo" runat="server"></asp:TextBox> 
<span class="afterInput">test</span> 

任何指针?谢谢。

编辑答案
事实证明,问题在于CSS属性。我使用的模板具有为display: block属性分配的所有输入,这使<input>元素的任何内容都被推下。

创建一个自定义css类与display: inline-block并适当地分配给他们后,我设法得到我想要的结果。

非常感谢您提供的答案,特别是:after属性和水印属性。

+1

您的意思是在文本框中添加水印? –

+0

对不起,没有水印,我的意思是像一个强制性的消息,在文本框的右侧。 – ipohfly

+0

你可以放置示例代码...? –

回答

2

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伪元素选择器可以让你将文字内容从标记中提取出来(例如,您不必r epeat“*”一遍又一遍)。

您也可以使用相对或绝对定位来调整伪元素内容的位置。例如:http://jsfiddle.net/ekWG9/1/

1

在文本框后面,似乎您正在谈论水印文本。

您可以使用ajaxcontrol工具包中的TextBoxWatermark

还有几个jQuery替代方案来实现它。

html5 also has browser support for watermarks

<input name="q" placeholder="Go to a Website"> 

您可以将属性添加到您的控制,这种效果。

+0

和HTML 5的'placeholder'属性(Chrome,Safari,FF)。 –

+0

对不起,我应该提到的是文本框的右侧而不是后面。我的意思不是水印。 – ipohfly

+0

你不能把它放在文本框后? –

0

为了这个目的使用CSS:

span.clsRequired { 
    float:left; 
    margin:2px 0 0 3px; 
    color:red; 

} 

而在此之前的文本框中输入您的跨度是这样的:

<span class="clsRequired ">*</span> 
0
you should try something like this 

<body> 
    <form id="form1"> 
    <asp:TextBox ID="TextBox1" runat="server"/>&nbsp;<span>Required field</span> 
</form> 
</body>