So after a little work, I was able to get the code to work out for me. I plan on further extending the "Add Shapefile" from the ESRI JS API, but for now I have the code set to add a shapefile, and once added and the polygons appear, when you click on the added polygon (a user validation) that polygon is appended into the featurelayer of your hardcoded choice using the "ApplyEdits" method of the ESRI JS API. I didn't use a button as describe above, but added 1 line of code into the arrayUtils within Add Shapefile. Note that this is only copying the geometry and not the attributes.
Added these lines to to the Add Shapefile code;
var firePerimeterFL = new esri.layers.FeatureLayer("https://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/FeatureServer/2", {
mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
outFields: ["*"],
id: "firePerimeterFL"
});
map.addLayers([firePerimeterFL]);
Add 1 line into this part of the Add Shapefile code;
arrayUtils.forEach(featureCollection.layers, function (layer) {
var infoTemplate = new InfoTemplate("Details", "${*}");
var featureLayer = new FeatureLayer(layer, {
infoTemplate: infoTemplate
});
//associate the feature with the popup on click to enable highlight and zoom to
featureLayer.on('click', function (event) {
map.infoWindow.setFeatures([event.graphic]);
firePerimeterFL.applyEdits([event.graphic], null, null);
});
//change default symbol if desired. Comment this out and the layer will draw with the default symbology
changeRenderer(featureLayer);
fullExtent = fullExtent ?
fullExtent.union(featureLayer.fullExtent) : featureLayer.fullExtent;
layers.push(featureLayer);
});
map.addLayers(layers);
map.setExtent(fullExtent.expand(1.25), true);
dom.byId('upload-status').innerHTML = "";
}