我希望看到警报,不幸的是,setTempIshCaseId()的js-function-body永远不会被触发,因为Firebug-JS-Debugger告诉我。
我的jsf-Code(由表格标签包围):
<t:div id="setTempIshCaseIdContainer">
<a4j:jsFunction name="setTempIshCaseId" reRender="debugIshCaseId" >
<a4j:actionparam name="tempIshCaseId" assignTo="#{CaseController.tempIshCaseId}"/>
</a4j:jsFunction>
<h:outputText id="debugIshCaseId" value="#{CaseController.tempIshCaseId}" style="BACKGROUND-COLOR:red;"/>
</t:div>
<a4j:commandLink id="preSaveCaseButton" onclick="setTempIshCaseId();" title="#{resources.labels['biobank_lims_saveTable']}" reRender="jsonpRemoteURLs,hNumberRemoteURL,eNumberRemoteURL,ishCaseRemoteURL,tempIshCaseIdContainer" oncomplete="jQuery('a#form_saveCaseButton').click()">
</a4j:commandLink>
我的javascript代码:
function setTempIshCaseId(){
alert('BP');
console.log("setTempIshCaseId() Start ");
// setze den Wert des a4j-js-function action param
var ishCaseId = jQuery('#form_ish').val();
jQuery('#form_tempIshCaseId').text(ishCaseId);
jQuery('#form_debugIshCaseId').text(ishCaseId);
console.log("setTempIshCaseId() Ende ");
}
为什么单击preSaveCaseButton后没有调用setTempIshCaseId()?提前谢谢。
答案 0 :(得分:0)
是的!问题解决了。阅读本教程后: http://mkblog.exadel.com/2010/06/using-richfaces-a4jjsfunction-sending-an-ajax-request-from-any-javascript/
很明显,我必须将actionParam-attribute的参数传递给JavaScript函数,如下所示:
onclick="setTempIshCaseId(jQuery('#form_ish').val());"