簡體   English   中英

Javascript top.navigation不適用於JSF Primefaces

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM