diff --git a/theme/static/js/script.js b/theme/static/js/script.js
index 2722547487c26b24baa5157723592acf723abe16..652adf5853c5e367c3433bd822e6297ec7a6db85 100644
--- a/theme/static/js/script.js
+++ b/theme/static/js/script.js
@@ -25,8 +25,20 @@
             url: $(selector).attr("action"),
             data: $(selector).serialize(),
             success: function(response) {
-                $(selector + " :input").prop("disabled", true);
-                $(selector).prepend(response);
+                $(selector).html(response);
+            },
+            statusCode: {
+                429: function() {
+                    if (jqXHR.getResponseHeader("Retry-After")) {
+                        alert("Too many requests from your network. Please try again in "
+                            + jqXHR.getResponseHeader("Retry-After") + " seconds.");
+                    } else {
+                        alert("Too many requests from your network. Please try again later.");
+                    }
+                }
+            },
+            error: function(jqXHR, error_type, e) {
+                alert("Sorry, an error occurred. Please try again, or email me.");
             }
         });
         return false;