当onclick javascript返回true时,不会触发serverclick事件?

时间:2010-12-22 21:17:44

标签: javascript asp.net .net-1.1

我有一个像这样的HTML输入按钮

<input type="button" id="send_button" class="form_button" value="Send" onclick="return validateTextBoxes();" runat="server" />

我也有javascript

<script language="javascript">        
    function validateTextBoxes() 
    {            

            var reading1 = document.getElementById('<%= meterReading1.ClientID%>').value;           
            var error = document.getElementById('<%= lblError.ClientID%>');  
            var btn = document.getElementById('<%= send_button.ClientID%>');  
            var ValidationExpression = /[\d]/;     
            if (reading1 == "" )    
            {
                error.innerHTML = "Please enter Water Meter Reading.";  
                return false;
            }
            else if(!ValidationExpression.test(reading1))           {
                error.innerHTML = "Please enter valid Meter Reading(It Contains only numbers)"; 
                return false;
            }
            else
            {
                error.innerHTML = "";
                return true;
            }

    }    
 </script>

我也在代码隐藏文件中调用此服务器单击事件 this.send_button.ServerClick + = new System.EventHandler(this.send_ok);

因此,当javscript返回true时,问题就是它没有触发serverclick事件。

请帮助我,我做错了(我正在使用框架1.1)

由于

1 个答案:

答案 0 :(得分:0)

我遇到过这个问题,实际上我必须这样做:

onclick="if (validateTextBoxes()) { return true; } else { return false; }"

你绝对不应该这样做,这对我来说没有任何意义,为什么它会有这种方式,但唉,我尝试了它并且它起作用了:(