我对编程领域比较陌生,这是一个初学者问题。 我在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>
</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>'
答案 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");
}