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
Erik LarameeErik Laramee 

detail page button vs list view button

Can someone help me understand why this code works as a detail page button but not a list view button? I need to be able to multi-select before performing the action.

{!REQUIRESCRIPT("/soap/ajax/37.0/connection.js")} 

var po = new sforce.SObject("Object__c"); 
po.id = "{!Object__c.Id}"; 

po.Checkbox__c = true; 

result = sforce.connection.update([po]); 

window.location.reload();

With the developer console open I get this error:
connection.js:594 Refused to set unsafe header "User-Agent"send @ connection.js:594sforce.SoapTransport.send...
Best Answer chosen by Erik Laramee
SalesFORCE_enFORCErSalesFORCE_enFORCEr
Use this:
{!REQUIRESCRIPT("/soap/ajax/37.0/connection.js")} 
{!REQUIRESCRIPT("/soap/ajax/37.0/apex.js")} 

var ids = {!GETRECORDIDS($ObjectType.Object)}; 
if (ids[0] == null) 

alert('Please select a record'); 

else 
{
sforce.connection.sessionId = '{!$Api.Session_ID}';
var result = sforce.connection.query('Select Id, Checkbox__c  '+'from Object where Id IN(\''+ids.join('\',\'')+'\')');
var records = result.getArray("records");
for (var n=0; n<records.length; n++) {
var cs = records[n];
cs.Checkbox__c  = true; 
sforce.connection.update([cs]); 
}
window.location.reload();
}

All Answers

SalesFORCE_enFORCErSalesFORCE_enFORCEr
Use this:
{!REQUIRESCRIPT("/soap/ajax/37.0/connection.js")} 
{!REQUIRESCRIPT("/soap/ajax/37.0/apex.js")} 

var ids = {!GETRECORDIDS($ObjectType.Object)}; 
if (ids[0] == null) 

alert('Please select a record'); 

else 
{
sforce.connection.sessionId = '{!$Api.Session_ID}';
var result = sforce.connection.query('Select Id, Checkbox__c  '+'from Object where Id IN(\''+ids.join('\',\'')+'\')');
var records = result.getArray("records");
for (var n=0; n<records.length; n++) {
var cs = records[n];
cs.Checkbox__c  = true; 
sforce.connection.update([cs]); 
}
window.location.reload();
}
This was selected as the best answer
Erik LarameeErik Laramee
Thank you, that works!
SalesFORCE_enFORCErSalesFORCE_enFORCEr
You selected your answer as best :)
Erik LarameeErik Laramee
Woops. Sorry about that and thanks again!