2010-10-05 60 views
0

我想创建一个用户名的文本框,但一旦他开始输入我需要的用户名要求的小图像动态显示..文本框的CSS与信息

谁能帮助我?

+0

为什么一个形象呢?为什么不显示描述用户名要求的文字?只是好奇。 – kevtrout 2010-10-05 17:12:36

回答

1

让说A1是你的文本框和X1是你的形象:

<script> 
    function txtChange(){ 
     a1=document.getElementById(a1); 
     x1=document.getElementById(x1); 
     if(a1.value.length>0) { 
      x1.style['display'] = true; 
     } 
    } 
</script> 


protected void Page_Load(object sender, EventArgs e) 
{ 
    a1.Attributes["onchange"] = "txtChange()"; 
} 

哦,我想,如果你想让它值得一提的只是当他们专注(点击它),而不是当他们添加文本你可以改变 “onchange” 到 “onfocus

+0

我很困惑,你是否在你的C#代码中使用了Javascript变量? – Marko 2010-10-05 19:55:15

+0

不,行'a1 = document.getElementById(a1);'和'x1 = document.getElementById(x1);'使'a1'和'x1'引用C#控件(在这种情况下是文本框和图像)。 – 2010-10-05 21:14:23

+0

这是怎么做到的与CSS和HTML?这是一个javascript解决方案。 – jimplode 2010-10-06 07:56:47

1

当文本框具有焦点时,可以使用文本框中的focus focus psuedo类添加样式。

虽然你不能做你没有javascript的问题。

+0

他*可能*能够使用':focus'和':after'来做到这一点,但它不是一个干净的解决方案。 JS是需要的 – 2010-10-05 17:03:47

-1

根据图像的位置,你可以做这样的事情:

HTML

<input class="my_textbox"><img src=""/> 

,然后使用 “:聚焦” 和CSS兄弟选择:

CSS

input.my_textbox + img { 
    display:none; 
} 
input.my_textbox:focus + img { 
    display:block; 
} 
+0

请告诉我你没有把一个图像放在一个文本框中....这是错误的! – jimplode 2010-10-06 07:57:45

+0

错误不,它是兄弟选择器... 标记不在输入内部。它在输入元素之后。 – MonkeyBoo 2010-10-06 23:34:59