【发布时间】:2013-10-31 11:17:56
【问题描述】:
当我尝试将参数从 JSF 传递到 Javascript 时出错,我的参数为空。
JSF 代码:
<h:commandButton immediate="true" value="#{bundle.hello}"
onclick="return test('#{myBean.parameter1}', '#{myBean.parameter2}');"/>
Javascript 代码:
function test(parameter, parameter2){
html2canvas($('#body'), {
onrendered: function (canvas) {
var img = canvas.toDataURL("image/png");
var newImg = window.open(img);
newImg.document.write("<title>" + parameter+ " - " + parameter2+ "</title>");
}
});
return false;
}
我发现一些奇怪的东西,如果我在我的函数中删除“return false”,参数就可以了。不幸的是,由于其他原因,我需要“return false”。
你能解释一下我必须如何解决它吗?
谢谢。
【问题讨论】:
-
命令按钮生成的 HTML 输出是什么样子的?
-
如果我保持返回 false,生成的 HTML 输出看起来像: 如果我删除返回 false :
-
那么,这些参数不是你设置的,而是最终用户在相同表单的输入字段中设置的?
-
如果我去掉return false,生成的html输出是
-
这肯定是一种误解,是由于对基本 Web 内容的工作原理的误解而导致您在单击按钮后查看生成的 HTML 输出。您应该在单击按钮之前查看生成的 HTML 输出,因为那是单击期间的状态。
标签: javascript jsf