diff --git replace/ahah.js replace/ahah.js
index 54758dd..d7d8f89 100644
--- replace/ahah.js
+++ replace/ahah.js
@@ -118,7 +118,7 @@ Drupal.ahah = function(base, element_settings) {
  */
 Drupal.ahah.prototype.beforeSubmit = function (form_values, element, options) {
   // Disable the element that received the change.
-  $(this.element).addClass('progress-disabled').attr('disabled', true);
+  $(this.element).addClass('progress-disabled').attr('readonly', 'readonly');
 
   // Insert progressbar or throbber.
   if (this.progress.type == 'bar') {
@@ -164,7 +164,7 @@ Drupal.ahah.prototype.success = function (response, status) {
   if (this.progress.object) {
     this.progress.object.stopMonitoring();
   }
-  $(this.element).removeClass('progress-disabled').attr('disabled', false);
+  $(this.element).removeClass('progress-disabled').removeAttr('readonly');
 
   // Add the new content to the page.
   Drupal.freezeHeight();
@@ -217,5 +217,5 @@ Drupal.ahah.prototype.error = function (response, uri) {
   // Undo hide.
   $(this.wrapper).show();
   // Re-enable the element.
-  $(this.element).removeClass('progess-disabled').attr('disabled', false);
+  $(this.element).removeClass('progress-disabled').removeAttr('readonly');
 };
