confirm on Post under certain conditions

Rails 3.2.11

When users click a "submit" button, the app can show a confirm dialog by
adding

  :confirm => "Are you sure?"

I need to let it appear if certain conditions are met. It does not
appear if the conditions are not met although the submit action would
get executed.

Say, I have a checkbox, then some JavaScript function detects if the
checkbox is checked or not.
Then, when users decide to click the submit button, the javascript
function sees if the checkbox status: the dialog appears if checked and
submit action follows as users confirm it. The dialog does not appear
but submit action gets executed without confirmation.

Could anyone give me some ideas how to implement something described?

soichi

Rails 3.2.11

When users click a "submit" button, the app can show a confirm dialog by
adding

:confirm => "Are you sure?"

I need to let it appear if certain conditions are met. It does not
appear if the conditions are not met although the submit action would
get executed.

Say, I have a checkbox, then some JavaScript function detects if the
checkbox is checked or not.
Then, when users decide to click the submit button, the javascript
function sees if the checkbox status: the dialog appears if checked and
submit action follows as users confirm it. The dialog does not appear
but submit action gets executed without confirmation.

Could anyone give me some ideas how to implement something described?

Sure. Set up two buttons on a scratch form page, look at the output in a browser, and note the differences between them. (Depending on the version of Rails you are using, it will be something like data-confirm="Are you sure?" or it might be a blodge of inline JavaScript hooked to the click event.)

What you'll need to do -- in JavaScript -- is observe the form for changes, and programmatically add that property or listener depending on the current state of the form. In Prototype, I would use the Form.Observer method. I'm not sure what the equivalent is in jQuery, but I'm sure there's something like it.

Walter

Thanks for your help!