我已经编写了代码 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函数,可能是什么原因。
答案 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();