使用javascript的水印文本框

时间:2011-09-20 03:22:00

标签: c# asp.net

我的代码需要一些帮助。

我希望代码动态就像在javascript中使用类一样,但我使用javascript并不是太强大。我需要你的解决方案。

例如,如果有人进入文本框,文本框会显示文本“输入关键字或短语”。文本'输入关键字或短语'消失。如果没有在文本框中输入或鼠标悬停,则“输入关键字或短语”文本将再次以灰色显示。 我有以下代码:

<asp:TextBox ID="txtQuery" runat="server" style="color: Gray;" 
ValidationGroup="req" value='Enter key word or phrase' 
onblur="if (this.value == '') { this.value = 'Enter key word or phrase'; 
this.style.color = 'Gray'; }" 
maxlength="255" onfocus="if(this.value == this.defaultValue){this.value='';  
this.style.color='Black'}"></asp:TextBox>

请帮忙。

3 个答案:

答案 0 :(得分:0)

因此,您的代码应该可以运行,但是您还需要处理一些方案,例如在提交或将文本作为空白文本处理时清除文本框,同时验证java脚本中的文本框。

如果您使用的是jquery,则可用于上述功能的插件很少。例如,看看labelify

答案 1 :(得分:0)

<asp:TextBox ID="txtQuery" CssClass="baseVal" runat="server" Text="Enter key word or phrase"></asp:TextBox>
<script type='text/javascript'>
        function ClearMLSText() {
            if ($("#txtQuery").val() == "Enter key word or phrase") {
                $("#txtQuery").val("");
                $("#txtQuery").addClass("hasVal").removeClass("baseVal");
            }
        }

        function BaseMLSText() {
            if ($("#txtQuery").val() == "") {
                $("#txtQuery").val("Enter key word or phrase");
                $("#txtQuery").addClass("baseVal").removeClass("hasVal");
            }
        }
</script>

<style type="text/css">
 #txtQuery.baseVal { color: #999; font-style: italic; }
 #txtQuery.hasVal { color: #000; font-style: normal; }
</style>

您可能还想查看jquery Watermark Plugin Get WaterMark Plugin

答案 2 :(得分:0)

WaterMark a文本框使用javascript:

在Ajax工具包中,有一个水印扩展器可以添加文本框,通过该文本框,只要文本框被聚焦,其中写入的默认文本就会被清除。使用JavaScript可以做的同样的事情是使用更多的JavaScript或jquery而不是使用ajax工具包,因为它会降低服务器速度以使页面呈现。

for live example visit:http://www.dotnetchallengers.com/App_Folder/Content/CodeSnippets/Java%20Script/WaterMark%20a%20Text%20box%20Using%20javascript%20Java%20Script/WaterMark_a_Text_box_Using_javascript_Java_Script.aspx?TutorialIds=17