Change delete button confirmation text

Hey all! Has anyone come up with a bit of javascript to change the text on the confirmation prompt of a delete button? I would like to change the text from the standard, “Are you sure you want to delete this?”.

Screenshot 2024-08-14 172032

Here is what I have tried below

  1. Custom JavaScript to Override Confirmation Text:

    • I attempted to override the default delete confirmation prompt with custom text using the following script:
    $(document).on('knack-view-render.view_285', function(event, view) {
        $(view.el).on('click', 'a.kn-delete', function(e) {
            e.preventDefault();  // Prevent the default action
            
            // Custom delete confirmation message
            var confirmDelete = confirm("Are you sure you want to delete this record? This action cannot be undone.");
            
            if (confirmDelete) {
                var recordId = $(this).data('record-id'); // Get the record ID from data attribute
                
                Knack.showSpinner();
                Knack.views[view.key].model.deleteModel(recordId, {
                    success: function(model, response) {
                        Knack.hideSpinner();
                        location.reload();  // Reload after deletion
                    },
                    error: function(model, response) {
                        Knack.hideSpinner();
                        alert('There was an error deleting the record.");
                    }
                });
            }
        });
    });
    
  2. Custom JavaScript to Create a Custom Delete Button:

    • I also tried to replace the original delete button with a custom button using the following script:
    $(document).on('knack-view-render.view_285', function(event, view) {
        // Add a custom delete button
        var buttonHTML = '<button id="custom-delete" class="kn-button is-danger">Delete Record</button>';
        $(view.el).append(buttonHTML);
    
        // Handle click on the custom delete button
        $('#custom-delete').on('click', function(e) {
            e.preventDefault();
            
            var recordId = Knack.models[view.key].get('id'); // Get the record ID
            
            Knack.showSpinner();
            $.ajax({
                url: 'https://api.knack.com/v1/objects/' + view.source.object + '/records/' + recordId,
                type: 'DELETE',
                headers: {
                    'Authorization': Knack.getUserToken(),
                    'X-Knack-Application-Id': Knack.application_id,
                    'X-Knack-REST-API-Key': 'knack',
                },
                success: function(response) {
                    Knack.hideSpinner();
                    location.reload();  // Reload after deletion
                },
                error: function(xhr, status, error) {
                    Knack.hideSpinner();
                    alert('There was an error deleting the record.');
                }
            });
        });
    });
    
  3. Custom JavaScript to Remove the Confirmation Prompt Entirely:

    • I tried removing the confirmation prompt altogether and directly deleting the record with the following script:
    $(document).on('knack-view-render.view_285', function(event, view) {
        // Unbind the default click event and directly delete the record without confirmation
        $(view.el).find('a.kn-delete').off('click').on('click', function(e) {
            e.preventDefault();  // Prevent the default action
    
            var recordId = Knack.models[view.key].get('id'); // Get the record ID
            
            // Perform the deletion using Knack's built-in model method
            Knack.showSpinner();
            Knack.views[view.key].model.deleteModel(recordId, {
                success: function(model, response) {
                    Knack.hideSpinner();
                    location.reload();  // Optionally reload the page or redirect the user
                },
                error: function(model, response) {
                    Knack.hideSpinner();
                    alert('There was an error deleting the record.');
                }
            });
        });
    });
    

None of the above work. I have managed to get a second prompt but cannot remove the first or change the text.

I’m looking to either:

  1. Change the default confirmation text that appears when deleting a record.
  2. Alternatively, remove the confirmation prompt altogether and allow the deletion to proceed immediately.

Any assistance with this would be so greatly appreciated!!!