先运行javascript,成功后再运行代码
Run javascript first and on success run code behind
在Asp页面我有以下控件。一个输入文本框,一个图像按钮和一个标签。
<input id="txtTotamt" runat="server" type="text" value="0" />
<asp:ImageButton ID="Validate" runat="server" OnClientClick="return validatecontrol();"/>
<asp:Label ID="lblerror" runat="server"></asp:Label>
在javascript中
<script language="javascript" type="text/javascript">
function validatecontrol()
{
var valid_amt = document.getElementById("txtTotamt").value;
if isNaN(valid_amt) == false {
if(valid_amt % 1 != 0) && (valid_amt>0){
return true;
}else{
document.getElementById("lblerror").innerHTML ="Error";
}
}else{
document.getElementById("lblerror").innerHTML ="Error";
}
}
</script>
后面的代码Protected Sub Validate_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles Validate.Click
//my codes go here
End Sub
我想在JavaScript中验证文本框的内容,并且我也有该按钮单击的代码。我想脚本首先执行,如果在输入文本的文本不合适,那么代码后面不应该执行。但这对我不起作用。我认为。net中的代码会在JavaScript之前被触发。如何解决?是否有任何错误在我的javascript?
您的if语句缺少括号。在javascript中,所有if语句都应该用标准括号括起来。如果没有这些,你会得到一个语法错误。
标准是:
if ( /*your if comparison here e.g 1 == 1*/) {
} else {
}
尝试改变:
if isNaN(valid_amt) == false {
:
if (isNaN(valid_amt) == false) {
相同:
if(valid_amt % 1 != 0) && (valid_amt>0){
if((valid_amt % 1 != 0) && (valid_amt>0)){
尝试替换这些行
if isNaN(valid_amt) == false {
if (!isNan(valid_amt) || valid_amt!=undefined) {
首先必须将valid_amt的值发送给isNan()函数:
if isNaN(valid_amt.value) == false
并且,为了避免在验证无效时调用服务器函数,将return false;
添加到else
语句中:
<script language="javascript" type="text/javascript">
function validatecontrol()
{
var valid_amt = document.getElementById("txtTotamt");
if isNaN(valid_amt.value) == false {
if(valid_amt % 1 != 0) && (valid_amt>0){
return true;
}else{
document.getElementById("lblerror").innerHTML ="Error";
return false;
}
}else{
document.getElementById("lblerror").innerHTML ="Error";
return false;
}
}
</script>
Please modify your script as:
<script type="text/javascript">
function validatecontrol()
{
var valid_amt = document.getElementById("txtTotamt");
if (isNaN(valid_amt) == false)
{
if((valid_amt % 1 != 0) && (valid_amt>0))
{
return true;
}
else
{
document.getElementById("lblerror").innerHTML ="Error";
return false;
}
}
else
{
document.getElementById("lblerror").innerHTML ="Error";
return false;
}
}
</script>
aspx代码中的两个更正。
-
OnClientClick="Javascript:return validatecontrol();"
-
OnClick="Validate_Click"
,Javascript函数
在javascript函数的else
部分使用return false;
。如果值不合适,那么它将停止进一步的处理。
相关文章:
- AJAX调用运行C代码的最佳实践
- Javascript等待ajax成功后再执行代码
- 在经过一段时间或满足条件后运行代码
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 如果调试器关闭,Internet Explorer将出现运行代码问题
- JQuery 帖子未在 PHP 文件中运行代码
- 在WordPress上运行其他javascript之后再运行javascript
- 当ajax请求发生时运行代码的Chrome扩展
- 当我运行代码时,我得到以下结果 []对象对象] [对象对象],但应该给我一个有序数组
- 仅当客户端连接到Meteor服务器时才运行代码
- 在.each()循环中的ajax完成后,Jquery运行代码
- 等待promise解析后再执行代码
- 等待1个函数完成后再运行下一个函数
- node.js和Cygein,我该如何运行代码
- 未访问全局变量,未运行代码
- 循环遍历 Angular HTTP 请求中的对象,等到响应后再运行下一个循环
- Meteor - 在客户端上的异步回调的 for 循环后运行代码
- 运行代码以在Android应用程序中单击javascript按钮?尝试在页面上抓取回复按钮联系信息 craigslist
- 函数结束时如何运行代码
- 先运行javascript,成功后再运行代码