jquery警报框自动被禁用

时间:2011-04-22 11:39:16

标签: c# jquery asp.net

我已经编写了代码 ascx脚本:

<script src="JScripts/jquery.alerts-1.1/jquery.alerts.js" type="text/javascript"></script>

<script>
$(function() {
        $('#ImageButton1').click(function() {
            jAlert('Please enter a valid Suggestion ID.', 'Case Entry');
        });
    });
</script>

然后 代码背后:

Page.ClientScript.RegisterStartupScript(this.GetType(), "Window", "callAlert();", true);

问题是警告框在页面加载完全

一段时间后自动被禁用

单击“确定”按钮后如何禁用警报框以及如何以正确方式调用callAlert函数,可能是什么原因。

5 个答案:

答案 0 :(得分:0)

您可以尝试在函数

之前添加以下行
$(document).ready(function() {

这将成为:

$(document).ready(function() {
        $('#ImageButton1').click(function() {
            jAlert('Please enter a valid Suggestion ID.', 'Case Entry');
        });
    });
 });

如果您等到页面准备就绪,警告框将不会被覆盖(我希望x)。

当您检查该文本框时,检查条件是否为假,然后发出警告 条件不是假的吗?建立检查以检查条件是否真实。如果是这样?重定向。

修改

var answer = Confirm: ("This page will now redirect. Are you ready?")
if (answer)
//redirect
else
return

答案 1 :(得分:0)

好的,所以首先要了解$(function(){...$(document).ready(function() {...是等效的,并且在页面完全加载之前,任何内部都不会执行。换句话说,没有必要使用

Page.ClientScript.RegisterStartupScript(this.GetType(), "Window", "callAlert();", true);

可以删除。另外,我发现你可能正在使用网络表单。请注意,将呈现的Id属性与控件属性的Id不等于。换句话说,如果您的runat="server"控件的ID为ImageButton1,则在jQuery中使用语法$('#ImageButton1')将无效。

考虑到这一点,我在下面添加了一个使用基于类属性的选择器的示例。

<script type="text/javascript">
    $(function () {
        $('.ImageButton1').click(function (e) {
            var text = $('.TextBox1').val();
            var redirect = true;

            if (!text) {
                redirect = confirm('Empty...are you sure?');
            }

            if (redirect) {
                window.location.href = 'http://your-redirect-here.com';
            }
        });
    });
</script>

<input class="TextBox1" type="text" />
<input class="ImageButton1" type="button" value="Click" />

那应该可以让你到达目的地。如果您有任何问题,请告诉我。

答案 2 :(得分:0)

如果您使用的是母版页或页面,那么您将无法获得该按钮的客户端ID,因为您声明它应该被声明为$('#<%=ImageButton1.ClientID%>')$('[id$=ImageButton1]')希望它能解决您的问题。

$(document).ready(function(){
 $('#<%=ImageButton1.ClientID%>').click(function() {
            alert('Please enter a valid Suggestion ID.', 'Case Entry');
        });

});

答案 3 :(得分:0)

var answer = Confirm: ("This page will now redirect. Are you ready?")
if (answer)
{
   //redirect
} else
{
     return false;
 }

答案 4 :(得分:0)

将其放在jAlert Box之后:

return false;

并调用这样的函数:

return callAlert();