0

残念ながら、Firebug-JS-Debugger が教えてくれるように、setTempIshCaseId() の js-function-body は決してトリガーされませんでした。

私の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 に答える