Показать кнопку «Отправить», если и только если текст (символ) введен в текстовое поле, иначе скрыть - PullRequest
1 голос
/ 13 марта 2012

Я относительно новичок в области программирования, и вот вопрос новичка. У меня есть текстовое поле и кнопка отправки на странице aspx, при попытке получить некоторую информацию от пользователей на странице. Теперь я хочу показать кнопку «Отправить» только в том случае, если пользователь вводит текст в текстовое поле, иначе просто скрыть его. Я думал, что onKeyDown или onKeyEvent должны помочь мне сделать это, но это не работает правильно. Кнопка отображается только после того, как я ввожу 2 символа, и не прячется, пока я не нажму клавишу Backspace после удаления последнего символа в поле. Я не хочу использовать

КОД:

<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 Ответ

1 голос
/ 13 марта 2012

используйте OnKeyUp вместо onkeydown

Если это ASP.Net Button и Textbox, тогда используйте

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

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

В загрузке страницы

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