当且仅当在文本框中输入文本(字符)时,显示“提交”按钮

时间:2012-03-13 13:24:10

标签: c# javascript .net events javascript-events

我对编程领域比较陌生,这是一个初学者问题。 我在aspx页面中有一个文本框和一个提交按钮,同时试图从页面上的用户那里获取一些信息。 现在,我只想显示提交按钮,如果用户在文本框中输入文本,则只需隐藏它。 我认为onKeyDown或onKeyEvent应该帮助我做到这一点,但它不能正常工作。该按钮仅在我输入2个字符后显示,并且不会隐藏,除非我在删除了框中的最后一个字符后再次按下退格键。我不想用

CODE:           

<asp:TextBox ID="TextBox" onKeyDown = "showAndHide()" runat="server" Height="95px" Width="340px" 
    CssClass="SuggestionTxtBox" TextMode="MultiLine" 
    ToolTip="Enter your Suggestion here...." BorderStyle="Ridge" 
    ontextchanged="TextBox_TextChanged"></asp:TextBox>

<br />
<asp:Button ID="Button" runat="server" Text="Submit" 
    CssClass="SuggestionSubmitButton" onclick="Button_Click" 
    onclientclick="  " BackColor="#F5F5F5" Font-Size="13px" 
    ForeColor="#030756" Font-Bold="true" BorderStyle="None" Visible="False"  />
<br />
<asp:Label ID="Label2" runat="server" Text="" CssClass="SuggestionFootNote"                                                                           ForeColor="#030756"   Font-Italic="True" Font-Size="12px"></asp:Label>
<p>
&nbsp;</p>

<input type="text" id="input1" onkeydown="showAndHide();" /> 
<input type="submit" id="submit" style="display: none;" /> 


<script type="text/javascript">

inputOne = document.getElementById("input1");

inputSubmit = document.getElementById("submit");

function showAndHide() {
    if (inputOne.value == "") {
        inputSubmit.style.display = "none";
    }
    else {
        inputSubmit.style.display = "block";
    }
} 

</script> 
</ContentTemplate>
</asp:UpdatePanel>'

1 个答案:

答案 0 :(得分:1)

请使用OnKeyUp代替onkeydown

如果是ASP.Net按钮和文本框,则使用

inputOne = document.getElementById("<%= TextBox1.ClientID %>");

inputSubmit = document.getElementById("<%= Button1.ClientID %>");

在页面加载

If(!IsPostBack)
{
    Button1.Attributes.Add("OnKeyUp","showAndHide();");
    Button1.Style.Add("display","none");
}