谁能告诉我一些有用的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
你能给我解释一下发生了什么事以及如何解决吗?
我终于找到了解决办法。太简单了!!我必须在所有输入字段之前添加class='color'(将字段绑定到jscolor)以下代码:
<script>jscolor.init();</script>
我想在自定义DNN模块的更新面板内的中继器中使用jscolor。
我在这里看到的各种解决方案都不起作用…我终于想通了。
在你的usercontrol的HTML顶部:使用& lt;款:DNNJsInclude…/比;要指向jscolor.js文件,然后添加
<script type="text/javascript">
function pageLoad(sender, args) {
$(".jscolor").each(function (i, obj) {
var picker = new jscolor(obj);
});
};