Jake Here's an example that shows one approach. Note that we are creating/destroying the editor instead of hiding it: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=7, IE=9, IE=10"> <!--The viewport meta tag is used to improve the presentation and behavior of the samples on iOS devices--> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> <title>Edit rivers and waterbodies</title> <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/dojo/dijit/themes/claro/claro.css"> <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/esri/css/esri.css" /> <style> html,body{height:100%;width:100%;margin:0;overflow:hidden;} #map{ padding:0; } #header{ font-size:14pt; padding-left:20px; padding-top:4px; color:#660000; } .dj_ie .infowindow .window .top .right .user .content { position: relative; } .dj_ie .simpleInfoWindow .content {position: relative;} </style> <script>var dojoConfig = { parseOnLoad:true };</script> <script src="http://serverapi.arcgisonline.com/jsapi/arcgis/3.5/"></script> <script> dojo.require("dijit.layout.BorderContainer"); dojo.require("dijit.layout.ContentPane"); dojo.require("esri.map"); dojo.require("esri.dijit.editing.Editor-all"); var map, waterbodies, infoTemplate, editorWidget; function init() { //This sample requires a proxy page to handle communications with the ArcGIS Server services. You will need to //replace the url below with the location of a proxy on your machine. See the 'Using the proxy page' help topic //for details on setting up a proxy page. esri.config.defaults.io.proxyUrl = "../proxy/proxy.php"; //This service is for development and testing purposes only. We recommend that you create your own geometry service for use within your applications. esri.config.defaults.geometryService = new esri.tasks.GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); map = new esri.Map("map", { basemap: "satellite", center: [-96.541, 38.351], zoom: 14, slider: false }); infoTemplate = new esri.InfoTemplate("Water Features", "${fcode}") waterbodies = new esri.layers.FeatureLayer("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Hydrography/Watershed173811/FeatureServer/0",{ mode: esri.layers.FeatureLayer.MODE_ONDEMAND, infoTemplate: infoTemplate, outFields: ['*'] }); map.addLayers([waterbodies]); } function initEditor() { if(editorWidget){ return; } var layers = [{featureLayer: waterbodies}] var settings = { map: map, layerInfos:layers }; var params = {settings: settings}; editorWidget = new esri.dijit.editing.Editor(params,'editorDiv'); editorWidget.startup(); //disable popups waterbodies.setInfoTemplate(null); } function startEditing(){ initEditor(); } function stopEditing(){ if(editorWidget){ editorWidget.destroy(); editorWidget = null; //enable the popups waterbodies.setInfoTemplate(infoTemplate); } } dojo.ready(init); </script> </head> <body class="claro"> <div id="main" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design:'headline'" style="height:width:100%;height:100%;"> <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'left'" style="width: 300px;overflow:hidden;"> <input type="button" id="startEd" value= "start" onclick="startEditing();"/> <input type="button" id="stopEd" value="stop" onclick = "stopEditing();" /> <div id="editorDiv"></div> </div> <div data-dojo-type="dijit.layout.ContentPane" id="map" data-dojo-props="region:'center'"></div> </div> </body> </html>