[英]Javascript top.navigation NOT working with JSF Primefaces
我正在嘗試通過javascript單擊用戶時重定向用戶。 所以像這樣:
top.location=url;
通常,這會將您重定向到指定的“ URL”,但是奇怪的是,足夠多的用戶被重定向到同一頁面。
有沒有一種方法可以使用與Primefaces一起使用的javascript來重定向用戶? 不知道為什么素面會干擾。
<div>
<p:commandButton value="Cancel" onclick="javascript:$.fn.RedirectMe('http://google.com')" />
</div>
Javascript:
$.fn.RedirectMe = function(url) {
var confirmBox=confirm("Are you sure ?");
if (confirmBox==false)
{
return false;
}
if(typeof(url) =="undefined" || url == null || url==""){
top.location=top.location;
}else{
url = encodeURI(url);
top.location=url;
}
};
<p:commandButton>
默認通過ajax POST請求提交父表單。 因此,從本質上來說,這是該工作的錯誤工具。
使用<p:button>
代替。 不要忘記返回false
,否則它將仍然執行隱式導航。
<p:button ... onclick="$.RedirectMe(url); return false;" />
與具體問題無關 , javascript
偽協議在HTML4 / 5兼容事件處理程序屬性中沒有任何意義,因為它已經是默認屬性。 此外,當您只想調用函數而不是創建函數時,不需要$.fn
映射。 上面給出的答案已經考慮到了這一點。 最后但並非最不重要的是,JS命名約定規定函數名稱應以小寫字母開頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.