Is there a right way to run javascript confirm() when Remove button is pressed ?
I tried the following but it won't bind the click event. Nothing happens.

Drupal.behaviors.mymoduleConfirmRemoval = function(context) {
  $('input.form-submit', context).bind('click', myconfirmFunc );
};

It, however, does bind with mousedown event but mousedown ignores my_confirm()'s return value.

Any insight would be appreciated.

Comments

drudrew’s picture

Title: How to run javascript: confirm() when Remove button is pressed ? » confirm() dialog when Remove button is pressed ?
drudrew’s picture

Priority: Major » Normal
iantresman’s picture

Yes please, I've lost count of the number of times I've pressed the Remove button, thinking it is a Save button. When I have an image, Description field, Title Field, and extended Caption field, it is a lot of text (and image) to lose in a single click.

quicksketch’s picture

Hi guys, I probably won't be adding this directly to FileField, since this module is no longer receiving features. It should be possible to implement via an add-on module.

As @drudrew noted in the original posting, you can bind an additional handler to the mousedown() event. Then you can use http://api.jquery.com/event.stopImmediatePropagation/ to prevent the triggering of further handlers.

myhemant’s picture

Issue summary: View changes

Hi,

Please try with this, Its working fine for me.
Create a copy of misc/ajax.js file and put it any custom module and by drupal_add_js() function.
Now modify the
Drupal.ajax = function (base, element, element_settings) { .... // function in beforeSend:

beforeSend: function (xmlhttprequest, options) {
if( ajax.url =='/?q=field_collection/ajax'){ // condition for when click on the Remove button for collection filed module.
if (confirm('Are you sure you want to remove this?')) {
ajax.ajaxing = true;
return ajax.beforeSend(xmlhttprequest, options);
}
xmlhttprequest.abort();
} else{
ajax.ajaxing = true;
return ajax.beforeSend(`xmlhttprequest`, options);
}
},

pwolanin’s picture

Category: Support request » Feature request
Status: Active » Closed (won't fix)