输入文本框为空时阻止按钮asp.Net webforms

时间:2016-05-16 14:45:26

标签: javascript c# asp.net

我的页面上有一个按钮和文本控件。

<asp:TextBox ID="MyText" Width="100%" ClientIDMode="Static" runat="server"></asp:TextBox>
<asp:Button ID="MyButton" OnClientClick="isNotEmpty()" CssClass="btn btn-primary" OnClick="Send_Click" ClientIDMode="Static" CausesValidation="false" runat="server" />

我正在尝试确保如果页面上的textBox为空(或具有空格),它将不会触发OnClick。我的代码不起作用,我不知道为什么。

function isNotEmpty() {
      if (<%= MyText.Text.Length %> > 0)
        return true;
       return false;
    }

我也尝试过:

function isNotEmpty(){
  document.getElementbyId("MyText").value !== null || document.getElementbyId("MyText").value.match(/^\s*$/) === null
}

2 个答案:

答案 0 :(得分:1)

您需要在return

中使用OnClientClick
<asp:Button ID="MyButton" OnClientClick="return isNotEmpty();" CssClass="btn btn-primary" OnClick="Send_Click" ClientIDMode="Static" CausesValidation="false" runat="server" />

答案 1 :(得分:0)

您需要在客户端找到MyText控件,遗憾的是它的名称不是"MyText"。它由服务器分配,并且可以根据其周围的其他元素而有所不同。

function isNotEmpty(){
   var textBox = document.getElementbyId("<%= MyText.ClientID %>");
   return textBox.value !== null || textBox.value.match(/^\s*$/) === null;
}

您还需要将Agalo的答案纳入ASPX文件。

  

OnClientClick="return isNotEmpty();"

相关问题