有没有人能告诉我一些有助于JSF与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 :(得分:3)
最后我找到了解决方案。这太容易了!我必须在所有输入字段之前添加class ='color'(将文件绑定到jscolor)这段代码:
<script>jscolor.init();</script>
答案 1 :(得分:0)
我想在自定义DNN模块的更新面板内的转发器中使用jscolor。
我在这里看到的各种解决方案都没有奏效......我终于明白了。
在usercontrol中的HTML顶部: 使用&lt; dnn:DNNJsInclude ..... /&gt;指向你的jscolor.js文件,然后添加
<script type="text/javascript">
function pageLoad(sender, args) {
$(".jscolor").each(function (i, obj) {
var picker = new jscolor(obj);
});
};