0

我希望看到警报,不幸的是 setTempIshCaseId() 的 js-function-body 从未像 Firebug-JS-Debugger 告诉我的那样被触发。

我的 jsf 代码(由表单标签包围):

<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()?提前致谢。

4

1 回答 1

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());"
于 2012-10-30T09:11:39.673 回答