clear coordinate fields when editing addresses, #24210
authorMark Wells <mark@freeside.biz>
Thu, 8 Aug 2013 23:59:56 +0000 (16:59 -0700)
committerMark Wells <mark@freeside.biz>
Thu, 8 Aug 2013 23:59:56 +0000 (16:59 -0700)
httemplate/elements/location.html

index 41a67a0..df5106c 100644 (file)
@@ -244,6 +244,42 @@ Example:
 %# Placeholders
 <INPUT TYPE="hidden" NAME="<%$pre%>cachenum" VALUE="">
 <INPUT TYPE="hidden" NAME="<%$pre%>addr_clean" VALUE="">
+
+<SCRIPT TYPE="text/javascript">
+// the strictly correct way to append something to window.onload
+window.addEventListener('load', function() {
+  var clear_coords_ids = [
+    '<%$pre%>latitude',
+    '<%$pre%>longitude',
+    'enter_censustract',
+    '<%$pre%>district'
+  ];
+  function clear_coords() {
+    for (var i=0; i < clear_coords_ids.length; i++) {
+      var el = document.getElementById(clear_coords_ids[i]);
+      if ( el ) {
+        el.value = '';
+      }
+    }
+  }
+  var clear_coords_on_change = [
+    '<%$pre%>address1',
+    '<%$pre%>address2',
+    '<%$pre%>city',
+    '<%$pre%>state',
+    '<%$pre%>zip',
+    '<%$pre%>country',
+  ];
+  for (var i=0; i < clear_coords_on_change.length; i++) {
+    var el = document.getElementById(clear_coords_on_change[i]);
+    if ( el ) {
+      // because some of these already have onchange triggers
+      el.addEventListener('change', clear_coords);
+    }
+  }
+});
+</SCRIPT>
+
 <%init>
 
 my %opt = @_;