Tôi muốn hiển thị hộp thoại JQuery có điều kiện khi nhấp vào sự kiện của một siêu kết nối.
Tôi có một yêu cầu như trên condition1 mở đối thoại JQuery và nếu điều kiện1 không được đáp ứng, hãy điều hướng đến trang được tham chiếu bởi thẻ 'href' của sự kiện nhấp chuột đang được đề cập.
Tôi có thể gọi một hàm trên sự kiện nhấp chuột của liên kết. Hàm này hiện kiểm tra điều kiện đã nói bằng cách thực thi một URL khác (thực thi bộ điều khiển Spring của tôi và trả về phản hồi).
Tất cả đều hoạt động hoàn hảo chỉ có window.open bị chặn bởi trình chặn cửa sổ bật lên.
$('a[href*=/viewpage?number]').live('click', function(e) {
e.preventDefault();
redirectionURL = this.href;
pageId= getUrlVars(redirectionURL)["number"];
$.getJSON("redirect/" + pageId, {}, function(status) {
if (status == null) {
alert("Error in verifying the status.");
} else if(!status) {
$("#agreement").dialog("open");
} else {
window.open(redirectionURL);
}
});
});
Nếu tôi xóa e.preventDefault();
khỏi mã, trình chặn popoup sẽ không chặn trang, tuy nhiên đối với condition1 thì nó sẽ mở hộp thoại cũng như mở trang 'href'.
Nếu tôi giải quyết một vấn đề, nó sẽ tạo ra vấn đề cho một vấn đề khác. Tôi không thể đưa ra công lý cho cả hai điều kiện đồng thời.
Bạn có thể giúp tôi giải quyết vấn đề này xin vui lòng?
Khi điều này được giải quyết, tôi có một vấn đề khác cần giải quyết, tức là điều hướng trên sự kiện OK của đối thoại :)