2013-06-05 52 views
1

任何人都可以告訴我一些有助於JSF中使用Jscolor組件的以下行爲的東西嗎?Jscolor在第一次回發新鮮部署後停止工作,但在重新加載回發後繼續工作

我有這個簡單的XHTML代碼:

<?xml version='1.0' encoding='UTF-8' ?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html"> 
     <h:head> 
      <title>RDFa test</title> 
     </h:head> 
     <h:body>  
      <script type="text/javascript" src="resources/js/jscolor/jscolor.js"/> 
      <h:form> 
       <h:commandButton class="color" value="ok"/> 
       <h:commandButton value="server" type="submit" action="#{testBean.tmp}"/> 
      </h:form> 
     </h:body> 
    </html> 

TestBean.java:

@ManagedBean 
@SessionScoped 
public class TestBean implements Serializable { 
    public TestBean() {} 

    public void tmp() { 
     System.out.println("SERVER!"); 
    } 
} 

如果我做的第一部署,並點擊 「服務器」 按鈕,Jscolor將消失並不起作用(就像摧毀頁面上的JavaScript)!如果我然後重新加載頁面並單擊相同的按鈕,Jscolor正常工作。在服務器日誌中也沒有例外,在Firebug JS控制檯中也沒有任何錯誤。這是如何造成的,我該如何解決這個問題?

編輯: 我不是唯一的開發人員,誰與這個問題散佈。這裏tyhand正確地描述,我的意思是:http://www.tek-tips.com/viewthread.cfm?qid=1641380

請告訴我發生了什麼事以及如何解決它?

+0

不,我沒有。也許「錯誤」不是正確的詞 - IDE不會拋出異常,螢火蟲沒有錯誤。問題是:JsColor組件不起作用(在這個例子中,命令按鈕只是一個沒有功能的按鈕 - 沒有顏色......)。任何想法? –

+0

好的,我解決了這個問題。目前提供的代碼是否真的是SSCCE?沒有真正測試它,你是不是過分簡化了它?無效的'class'屬性(它應該是'styleClass')很好的暗示了這段代碼沒有被測試。我可以識別並解釋ajax按鈕的問題,該按鈕在不重新執行腳本的情況下自行更新,但代碼段中的按鈕不是ajax按鈕。 – BalusC

+0

感謝BalusC解決問題和提示。我已經通過styleClass替換了無效的類屬性,但它不是一個解決方案:現在它是SSCCE,在第一次回發之後它仍然不起作用... –

回答

3

最後我找到了一個解決方案。這很容易!我以前帶class =「顏色」所有輸入字段添加(結合的Fileds到jscolor)驗證碼:

<script>jscolor.init();</script> 
+0

我有一個相關的問題;設置'$('body')。html(newHtml);'後,jscolor不起作用。之後我通過調用'jscolor.init()'來解決它。感謝提示! – Godsmith

+0

哈哈,謝謝你解決這個問題!在jQuery.load()函數後,我遇到了同樣的問題。 –

0

我想用一箇中繼器,這是一個更新面板內的自定義DNN模塊中內部jscolor 。

我在這裏看到的各種解決方案都沒有奏效......我終於明白了。

在你的用戶控件的HTML的頂部: 使用< DNN:DNNJsInclude ...../>指向你的jscolor.js文件,然後添加

相關問題