I haven't been able to isolate a specific problem with your code but I was able to tweak the Find an Address sample to do a geocode then buffer and not have it throw the error in IE. Let me know if this code works for you:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Find Address</title>
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.5/js/dojo/dijit/themes/claro/claro.css">
<style>
html, body {
height: 100%; width: 100%;
margin: 0; padding: 0;
}
#map{
padding:0;
border:solid 1px #343642;
margin:5px 5px 5px 0px;
}
#leftPane{
width:20%;
border-top: solid 1px #343642;
border-left: solid 1px #343642;
border-bottom: solid 1px #343642;
background-color:#DCDAC5;
margin:5px 0px 5px 5px;
color: #343642;
font:100% Georgia,"Times New Roman",Times,serif;
letter-spacing: 0.05em;
}
</style>
<script type="text/javascript">var dojoConfig = { parseOnLoad: true };</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.5"></script>
<script type="text/javascript">
dojo.require("esri.map");
dojo.require("esri.tasks.locator");
dojo.require("dojo.number");
dojo.require("dijit.form.Button");
dojo.require("dijit.form.Textarea");
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
var map, locator, gs, bufferGraphics;
function init() {
var initExtent = new esri.geometry.Extent({"xmin":-13343554,"ymin":2967656,"xmax":-7473190,"ymax":5902838,"spatialReference":{"wkid":102100}});
map = new esri.Map("map", { extent: initExtent});
var tms = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");
map.addLayer(tms);
dojo.connect(map, 'onLoad', function(map) {
dojo.connect(dijit.byId('map'), 'resize', map,map.resize);
});
gs = new esri.tasks.GeometryService('http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer');
locator = new esri.tasks.Locator("http://tasks.arcgisonline.com/ArcGIS/rest/services/Locators/TA_Address_NA_10/GeocodeServer");
dojo.connect(locator, "onAddressToLocationsComplete", showResults);
bufferGraphics = new esri.layers.GraphicsLayer();
dojo.connect(bufferGraphics, 'onLoad', function() {
map.reorderLayer(bufferGraphics, 0);
});
map.addLayer(bufferGraphics);
// hit the locator when a link is clicked
dojo.forEach(dojo.query('a', dojo.byId('leftPane')), function(anchor) {
dojo.connect(anchor, 'onclick', function() {
console.log('clicked a link, sending: ', this.innerHTML);
locate(this.innerHTML);
});
});
}
function locate() {
map.graphics.clear();
bufferGraphics.clear();
var address;
arguments.length ? address = arguments[0] :
address = dojo.byId('address').value;
var address = { "SingleLine": address };
locator.outSpatialReference= map.spatialReference;
locator.addressToLocations(address,["Loc_name"]);
}
function showResults(candidates) {
var candidate;
var geom;
var symbol = new esri.symbol.SimpleMarkerSymbol();
var infoTemplate = new esri.InfoTemplate("Location", "Address: ${address}<br />Score: ${score}<br />Source locator: ${locatorName}");
dojo.every(candidates,function(candidate){
// console.log(candidate.score);
if (candidate.score > 80) {
// add a point for the graphic
var attributes = { address: candidate.address, score:candidate.score, locatorName:candidate.attributes.Loc_name };
geom = candidate.location;
var graphic = new esri.Graphic(geom, symbol, attributes, infoTemplate);
map.graphics.add(graphic);
// buffer the point
doBuffer([geom], handleBuffer, errorHandler);
return false; //break out of loop after one candidate with score greater than 80 is found.
}
});
if(geom !== undefined){
map.centerAndZoom(geom,12);
}
}
function doBuffer(geoms, callback, err) {
var bufferParams = new esri.tasks.BufferParameters();
bufferParams.distances = [1];
bufferParams.bufferSpatialReference = map.spatialReference;
bufferParams.outSpatialReference = map.spatialReference;
bufferParams.unit = esri.tasks.GeometryService.UNIT_STATUTE_MILE;
bufferParams.geometries = geoms;
gs.buffer(bufferParams, callback, err);
}
function handleBuffer(bufferResults) {
// console.log('buffer came back: ', bufferResults);
var symbol = new esri.symbol.SimpleFillSymbol(
esri.symbol.SimpleFillSymbol.STYLE_SOLID,
new esri.symbol.SimpleLineSymbol(
esri.symbol.SimpleLineSymbol.STYLE_SOLID,
new dojo.Color([5, 95, 158, 0.65]),
2
),
new dojo.Color([145, 209, 255, 0.35])
);
// add the buffer graphic
// then move it back so that address point show up on top
bufferGraphics.add(
new esri.Graphic(
bufferResults[0],
// new esri.symbol.SimpleFillSymbol()
symbol
)
);
}
function errorHandler(err) {
console.log('buffer failed...');
}
dojo.ready(init);
</script>
</head>
<body class="claro">
<div id="mainWindow" dojotype="dijit.layout.BorderContainer" design="sidebar" gutters="false" style="width:100%; height:100%;">
<div id="leftPane" dojotype="dijit.layout.ContentPane" region="left">
Enter an input address and the application will use the sample address locator to return the location for
street addresses in the United States.
<br />
<textarea type="text" id="address"/>380 New York St, Redlands</textArea>
<br />
<button dojotype="dijit.form.Button" onclick="locate()"> Locate</button>
<br />
<a href="#">1060 West Addison, Chicago, IL</a><br />
<a href="#">380 New York Street, Redlands, CA</a><br />
<a href="#">1600 Pennsylvania Ave. Washington, DC</a><br />
</div>
<div id="map" dojotype="dijit.layout.ContentPane" region="center">
</div>
</div>
</body>
</html>