function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Martijn Hindriksen2Martijn Hindriksen2 

Help with JAVA Script

I am trying to build two buttons that executes JavaScript.
The function of the first button is to remove multiple items below a related list.
The function of the second button is to update a field on multiple records below a related list.
The related list is a custom object that links Contacts with a Delivery custom object (many to many relationship)

The functionality of the first button, what I am trying to create, is to select multiple rows and press a button to delete the selected rows.
The code I am using is below
{!REQUIRESCRIPT('/soap/ajax/35.0/connection.js')}

var selectedDeelnemers = {!GETRECORDIDS(   $ObjectType.Deelnemer__c   )};
sforce.connection.deleteIds(selectedDeelnemers);
navigateToUrl (window.location.href);
However I get the following error: 
User-added image

The second button should update a checkmark field called "Aanwezig" on the selected records. However I get the same error for the second button with the following code:
 
{!REQUIRESCRIPT('/soap/ajax/35.0/connection.js')}

var selectedContactIds = {!GETRECORDIDS( $ObjectType.Deelnemer__c )};
var contactsForUpdate = [];

if (selectedContactIds[0] == null) {
    alert(“You must select at least one record”);
} else {
    for (var i = 0; i < selectedContactIds.length; i++) {
       var contact = new sforce.SObject(“Contact”);
       contact.Id = selectedContactIds[i];
       {!Deelnemer__c.Aanwezig__c} = true ;
       }
}

var saveResult = sforce.connection.update(contactsForUpdate);
location.reload(true);
What am I doing wrong here?
 
Best Answer chosen by Martijn Hindriksen2
Deepak GulianDeepak Gulian
{!REQUIRESCRIPT("/soap/ajax/35.0/connection.js")}

var records = {!GETRECORDIDS($ObjectType.Deelnemer__c)};

if (records[0] == null) {
    alert("Please select at least one record.")
} else {
    var opt = confirm("Are you sure you want to delete selected records ?");
    if (opt == true) {
        var errors = [];
        var result = sforce.connection.deleteIds(records);
        if (result && result.length) {
            var numFailed = 0;
            var numSucceeded = 0;
            for (var i = 0; i < result.length; i++) {                 var res = result[i];                 if (res && res.success == 'true') {                     numSucceeded++;                 } else {                     var es = res.getArray("errors");                     if (es.length > 0) {
                        errors.push(es[0].message);
                    }
                    numFailed++;
                }
            }
            if (numFailed > 0) {
                alert("Failed: " + numFailed + "nSucceeded: " + numSucceeded + " n Due to: " + errors.join("n"));
            } else {
                alert("Number of records deleted: " + numSucceeded);
            }
        }
        window.location.reload();
    }
}
Above code for button 1
{!REQUIRESCRIPT('/soap/ajax/35.0/connection.js')}

var selectedContactIds = {!GETRECORDIDS( $ObjectType.Deelnemer__c )};
var contactsForUpdate = [];

if (selectedContactIds[0] == null) {
alert("You must select at least one record");
} else {
for (var i = 0; i < selectedContactIds.length; i++) {
var contact = new sforce.SObject("Deelnemer__c");
contact.Id = selectedContactIds[i];
contact.Aanwezig__c = true;
contactsForUpdate.push(contact);
}
}

var saveResult = sforce.connection.update(contactsForUpdate);
location.reload(true);
Above code for button 2

All Answers

Deepak GulianDeepak Gulian
{!REQUIRESCRIPT("/soap/ajax/35.0/connection.js")}

var records = {!GETRECORDIDS($ObjectType.Deelnemer__c)};

if (records[0] == null) {
    alert("Please select at least one record.")
} else {
    var opt = confirm("Are you sure you want to delete selected records ?");
    if (opt == true) {
        var errors = [];
        var result = sforce.connection.deleteIds(records);
        if (result && result.length) {
            var numFailed = 0;
            var numSucceeded = 0;
            for (var i = 0; i < result.length; i++) {                 var res = result[i];                 if (res && res.success == 'true') {                     numSucceeded++;                 } else {                     var es = res.getArray("errors");                     if (es.length > 0) {
                        errors.push(es[0].message);
                    }
                    numFailed++;
                }
            }
            if (numFailed > 0) {
                alert("Failed: " + numFailed + "nSucceeded: " + numSucceeded + " n Due to: " + errors.join("n"));
            } else {
                alert("Number of records deleted: " + numSucceeded);
            }
        }
        window.location.reload();
    }
}
Above code for button 1
{!REQUIRESCRIPT('/soap/ajax/35.0/connection.js')}

var selectedContactIds = {!GETRECORDIDS( $ObjectType.Deelnemer__c )};
var contactsForUpdate = [];

if (selectedContactIds[0] == null) {
alert("You must select at least one record");
} else {
for (var i = 0; i < selectedContactIds.length; i++) {
var contact = new sforce.SObject("Deelnemer__c");
contact.Id = selectedContactIds[i];
contact.Aanwezig__c = true;
contactsForUpdate.push(contact);
}
}

var saveResult = sforce.connection.update(contactsForUpdate);
location.reload(true);
Above code for button 2
This was selected as the best answer
Martijn Hindriksen2Martijn Hindriksen2
Thank you Deepak, I found the error and the code for the buttons work like a charm!