2013-05-05 88 views
1

複製的文本分辨率從JSF剪貼板/ primefaces提到here的作品,因爲它是,但似乎有一些問題,我請找我下面的代碼:將文本複製到從JSF剪貼板/ primefaces總不工作

<h:outputScript library="default" name="js/jquery-1.9.1.min.js"/> 
    <h:outputScript library="default" name="js/jquery.zclip.min.js"/> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 

    $('a#copy_coupon_code').zclip({ 
     path:"#{resource['default:js/ZeroClipboard.swf']}", 
     copy:$('span#offer_details_form:coupon_code').text() 
    }); 
    }); 
    </script>      
<h:outputText id="coupon_code" value="ABCD11" /> 
<a id="copy_coupon_code" href="#">Copy coupon and redirect</a> 

這是怎樣的代碼看起來在瀏覽器中: enter image description here

複製到剪貼板不工作,任何幫助是極大的讚賞.....

+0

請您詳細說明一下用2分隔的意思嗎? – Ravi 2013-05-06 18:30:57

+0

在瀏覽器中打開Firefox中的firebug或開發者工具,並檢查id的html標記。 – Ravi 2013-05-07 14:58:53

+0

你的代碼中有一些腳本問題,就像@Ravi說的那樣,看看firebug找到它。 – Scoup 2013-05-09 18:28:31

回答

2

這是集成JSF和jQuery的一個衆所周知的問題,因爲jsf使用冒號:字符表示組件的ID,並且冒號:字符是特殊字符(冒號:是爲jQuery選擇器保留的),因此您必須通過放置兩個反斜線在它的前面:

$('span#offer_details_form\\:coupon_code') 

我剛纔測試,它做工精細(從here下載zClip):

<h:head> 
    </h:head> 
    <h:body> 
     <h:outputScript library="js" name="jquery-1.9.1.min.js"/> 
     <h:outputScript library="js" name="jquery.zclip.min.js"/> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
       $('#copylink').zclip({ 
        path:"#{resource['js:ZeroClipboard.swf']}", 
        copy:$('#myform\\:txt1').text() 
       }); 
      }); 
     </script> 
     <h:form id="myform"> 
      <p:panel> 
       <h:outputText id="txt1" value="Stackoverflow"/> 
       <a id="copylink" href="#">Copy Description</a> 
      </p:panel> 
     </h:form> 
    </h:body> 

和結果:

enter image description here

+0

我使用手機,所以我不能顯示更多信息,對不起。 – 2013-05-12 03:46:35

+0

以下是修復問題,這個修復由RongNK提供,非常感謝@RongNK 2013-05-14 11:25:00