iT邦幫忙

0

js顯示到HTML的問題

想請教一下我想把js這段顯示到HTML裡面

function para()
     {var a,d,i=0;
      
        d+=" <p:menuitem value="1234" outcome="#{loginBean.dede[0]}"/>";
      
       document.getElementById("tes").innerHTML =d;
         
     }
 <p:layoutUnit position="west" size="175" header="功能選單" collapsible="true">
                <p:menu>
                  
                    <p:submenu label="test" id ="tes">
                      /*show here*/
                    </p:submenu>
                   
                </p:menu>
            </p:layoutUnit>
			

但是他都沒反應.....是有那裡寫錯了嗎?
請各位指教,謝謝

1 個回答

0
fillano
iT邦超人 1 級 ‧ 2017-07-28 14:53:13
最佳解答

你能說明一下:

document.getElementById("tes").style.display =d;

這裡的style.display是什麼意思?

看更多先前的回應...收起先前的回應...
fillano iT邦超人 1 級 ‧ 2017-07-28 14:58:21 檢舉

另外,JSF的組件是在伺服器端render成html的,而javascript是在client端執行的,瀏覽器懂的只有html。你恐怕需要先釐清你的觀念。

神威 iT邦新手 2 級 ‧ 2017-07-28 15:00:41 檢舉

不好意思,應該是innerHTML,對吧?
所以意思是我無法用JS嗎?

神威 iT邦新手 2 級 ‧ 2017-07-28 16:53:33 檢舉

fillano
而且我在JS中使用for迴圈居然就不行了....

fillano iT邦超人 1 級 ‧ 2017-07-28 17:01:33 檢舉

真的想這樣做,你要先觀察<p:menuitem ...>到底會變成什麼html,然後再考慮。不過不太建議(有點麻煩)...建議先去找一找是否有元件符合你的需求,或是自己寫自訂元件看看...

神威 iT邦新手 2 級 ‧ 2017-07-31 09:52:25 檢舉

fillano
想請教一下,自定原件要怎麼自訂阿...?

fillano iT邦超人 1 級 ‧ 2017-07-31 10:02:40 檢舉
神威 iT邦新手 2 級 ‧ 2017-08-01 09:28:53 檢舉

fillano
想請教一下,其實還是有點不懂,這是指能制定button的意思嗎?
我寫一個簡易的登入系統
想判斷
EX:
A帳號登入可以觀看A,B,C網頁
B帳號登入可以看D,E,F網頁

if(#{loginBean.acc}==a)
{for(i=0;i<5;i++){
        d+=" <p:menuitem value="1234" outcome="#{loginBean.dede[i]}"/>";
        //a帳號=dede[i]寫在java那邊
        //b帳號=dede2[i]
            }
       document.getElementById("source").show =d;
       }
       else if .....

那我可以把if和for加進來嗎?

fillano iT邦超人 1 級 ‧ 2017-08-01 11:04:05 檢舉

我簡單說,瀏覽器只懂兩件事:javascript跟html。<p:menuitem>並不是html,而是PrimeFaces定義的JSF元件,瀏覽器完全無法處理他。

神威 iT邦新手 2 級 ‧ 2017-08-01 13:31:50 檢舉

fillano
那.....有沒有辦法再jsf中使用if和for
不行的話我真的想不到要怎麼寫下去了.........

fillano iT邦超人 1 級 ‧ 2017-08-01 15:05:41 檢舉

jstl core tag裡面就有:
https://www.javatpoint.com/jstl-core-tags

不過這些都是在伺服器端。

fillano iT邦超人 1 級 ‧ 2017-08-01 15:31:51 檢舉

換個方向,可以考慮一下<f:ajax />看看有沒有可能的方法:
https://www.beyondjava.net/blog/a-comprehensive-guide-to-jsf-ajax/

神威 iT邦新手 2 級 ‧ 2017-08-01 18:01:01 檢舉

fillano
了解,我再研究看看

神威 iT邦新手 2 級 ‧ 2017-08-02 15:27:08 檢舉

fillano
最後我用rendered解決判斷權限問題了
謝謝

我要發表回答

立即登入回答