我必须在点击和上传复选框时调用javascript函数。在那个javascript函数中,我必须传递一个jsf参数。评估jsf参数的值并在运行时传递。正在为Onclick函数正确评估myClassDataItem.message的值,但在window.onload中,未评估值。 语法是否正确?
<h:selectBooleanCheckbox id="firstCheckbox"
onclick= "showMsg('#{myClassDataItem.message}' );"/>
window.onload = showMsg('#{myClassDataItem.message}');
答案 0 :(得分:0)
将window.onload
来电置于<script>
- 阻止:
<script type="text/javascript">
window.onload = showMsg('#{myClassDataItem.message}');
</script>
它有效。我的echoController
只返回一个字符串对象:
@Named
@SessionScoped
public class EchoController implements Serializable {
public String getEchoString() { return "Echo"; }
}
以下代码可以正常工作:
<script type="text/javascript">
function showMsg(msg) { alert(msg); }
window.onload = showMsg('#{echoController.echoString}');
</script>
但正如BalusC在答案here中提到的那样,你根本不应该这样做。