我有一个jQuery脚本在WebForms中,我想让它在按钮点击事件上显示一条消息。我把script
放在我的.aspx
文件中,并在代码后台中调用它。问题是如果用户点击了confirm
按钮而不是cancel
按钮,如何重定向页面?
.ASPX脚本:
<script type="text/javascript">
$(window).unload(function () {
CloseWindow();
})
//var newEmployeeDetail = document.getElementById(hfNe)
function confirmAppointEmployee() {
debugger;
Messi.ask("Employee appointed successfully",
function (val) {
if (val == false) {
$("[id*=Cancel]").click();
}
else {
$("[id*=Confirm]").click();
}
}, {
buttons: [{ id: '0', label: 'Confirm', val: true, 'class': 'btn-primary' }, { id: '0', label: 'Cancel', val: false }]
});
}
</script>
后台代码:
ClientScript.RegisterStartupScript(this.GetType(), "Success", "<script>confirmQuickAppointEmployee()</script>");
以下代码是需要调用以重定向用户的字符串。
private string PersonalInformationDetailUrl = Company.Framework.SmartNavigationPersonnel.SmartNavigation.GetUrlByPageName(Company.Framework.SmartNavigationPersonnel.SmartNavigation.PageNameList.PersonalInformationDetail) + "?AllowAddOption=true&AllowDeleteOption=true&RefreshMenuPage=true";
我尝试了以下方法,但是“取消”和“确认”按钮执行的操作相同。
var confirm = "$(document).ready(function(){ new Messi('Employee appointed successfully', " +
"{title: 'Title', buttons: [{id: 0, label: 'Close', val: 'false'},{id: 0, label: 'Confirm', val: 'true'}], " +
"callback: function(val) { window.location.href = '" + Functions.FixClientUrl(PersonalInformationDetailUrl) + "' }}); });";
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "confirm", confirm, true);
click
方法的具有 "Cancel" 和 "Confirm" ID 元素在哪里? - Heretic MonkeyconfirmQuickAppointEmployee
和confirmAppointEmployee
函数。它们是相同的吗?此外,您将confirmQuickAppointEmployee
注册为启动脚本。为什么?您的问题涉及按钮单击事件...您在那一点上又注册了另一个函数...最后但并非最不重要的是,看起来您正在使用MessiJS(对吧?)。这很重要,因为您与回调函数的问题直接受到该插件工作方式的影响(顺便说一下,它看起来像是被放弃的软件:没有文档等)。所以,请整理一下。 - dpant