日期:2014-05-18  浏览次数:20761 次

高分求助:jsf框架中的frame问题,高手帮帮忙啊!
我的主页面index.jsp中放了两个frame,左边的frame是left.jsp,右边的frame是right.jsp,我在left.jsp放了两个Checkbox框,如下:
<h:selectBooleanCheckbox   id= "c1 "   immediate= "true "   valueChangeListener= "#{test.selectOneNode} "   onclick= "this.form.submit(); "       value= "#{node.select} "     />
<h:selectBooleanCheckbox   id= "c2 "   immediate= "true "   valueChangeListener= "#{test.selectOneNode} "   onclick= "this.form.submit(); "       value= "#{node.select} "     />
我在right.jsp放入一个按钮如下:
<h:commandButton   id= "b1 "   onclick= "return   checkForm(this.form) "   style= "cursor:hand "     action= "#{data.dataQuery} "   />
现在我发现了一个问题:
如果我单击left.jsp中的两个Checkbox,都会执行valueChangeListener= "#{test.selectOneNode}中的代码
如果我单击right.jsp的按钮也能执行action= "#{data.dataQuery} "中的代码;
但是当我当我先点击left.jsp中的Checkbox然后再点击right.jsp的按钮后,然后再回来点击left.jsp中的Checkbox,这样交换点击多次,然后发现left.jsp中的Checkbox中的valueChangeListener= "#{test.selectOneNode}的代码不执行,望各位高手赐教!

------解决方案--------------------
帮顶
------解决方案--------------------
jsf應該少用這種js提交的方式。把selectBooleanCheckbox改成valuebinding的方式。onclick事件應該綁定服務器端的方法,而不是頁面js.
右邊也是這樣,把頁面驗證該為服務器驗證。
------解决方案--------------------
帮顶
------解决方案--------------------
你把你的具體需求貼出來,我可以做好發郵件給你。
------解决方案--------------------
jsf啊