The action part of my button stops working as soon as I change my button to return my javascript confirmation.
Javascript:
function confirmDialog()
{
var confirmation = confirm('Once you submit this record for approval, you might not be able to edit it or recall it from the approval process depending on your settings. Continue?');
return confirmation;
}
Not working VF:
<apex:commandButton title="Submit this rebate for approval" value="Submit Rebate for Approval" action="{!submitForApproval}" rendered="{!!renderCloseButton}" rerender="forecastSection, rebateMessages, fullBlock" onclick="return confirmDialog();" />
Working VF:
<apex:commandButton title="Submit this rebate for approval" value="Submit Rebate for Approval" action="{!submitForApproval}" rendered="{!!renderCloseButton}" rerender="forecastSection, rebateMessages, fullBlock" onclick="confirmDialog();" />
The only difference in the working/non-working is returning the onclick. I want my action to only fire if my confirmation returns true. The second set calls the action method but regardless of their response on the confirmation dialog. I have another button with the exact same setup, but it works as I expect. What could I be doing wrong?
Best Answer
Turns out that I could not have a rerender when returning the 'onclick'. I had to work around this. The new pieces:
New Action Function:
New outputPanel for rerendering (This is required to prevent the entire page from refreshing on my button press):
Updated confirmDialog:
Updated button: