diff -U 3 -H -b -w -B -E -p -r -N -- editablefields/editablefields.css public_html/sites/all/modules/editablefields/editablefields.css
--- editablefields/editablefields.css	2009-11-11 17:49:43.000000000 +1100
+++ public_html/sites/all/modules/editablefields/editablefields.css	2010-11-12 17:00:22.020950991 +1100
@@ -12,3 +12,12 @@ div.editablefields_clicktoedit_message {
   margin-top: -1em;
   z-index: 200;
 }
+
+span.editablefields-save {
+  font-weight: bold;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #808080;
+  background-color: #f0f0f0;
+  padding: 0.25em;
+}
diff -U 3 -H -b -w -B -E -p -r -N -- editablefields/editablefields.js public_html/sites/all/modules/editablefields/editablefields.js
--- editablefields/editablefields.js	2010-01-20 06:01:03.000000000 +1100
+++ public_html/sites/all/modules/editablefields/editablefields.js	2010-11-12 16:56:23.930939831 +1100
@@ -162,7 +170,8 @@ Drupal.editablefields.load = function(el
         Drupal.attachBehaviors(element);
 
         var uniqNum = Drupal.editablefields.checkbox_fix_index++;
-        $(element).find(':input').each(function() {
+        $(element).find(':input').not('.form-radio.wysiwyg').each( //not WYSIWYG format selector radio inputs
+            function() {
                                          // Create a unique id field for checkboxes 
                                          if ($(this).attr("type") == 'checkbox' || $(this).attr("type") == 'radio') {
                                            $(this).attr("id", $(this).attr("id") + '-' + uniqNum);
@@ -170,7 +179,18 @@ Drupal.editablefields.load = function(el
                                                            Drupal.editablefields.onchange(this);
                                                          });
                                          } else {
-                                           $(this).change(function() {
+                var curr = $(this).attr('id');
+                //make a uniquely identified Save button
+                $(this).not('[type=hidden]').parents('form').not(":has('.editablefields-save')").append(
+                    "<span id='editablefields-save-" + curr + "' class='editablefields-save'>" + Drupal.t("Save") + "</span>");
+                $("#editablefields-save-" + curr).click(function() {
+                  // detach WYSIWYG editor if used
+                  if (Drupal.wysiwyg.activeId == curr) {
+                    var params = new Object();
+                    params.field = Drupal.wysiwyg.activeId;
+                    Drupal.wysiwygDetach(window.document, params);
+                  }
+                  $("#editablefields-save-" + curr).hide();
                                                             Drupal.editablefields.onchange(this);
                                                           });
                                          }
diff -U 3 -H -b -w -B -E -p -r -N -- editablefields/editablefields.module public_html/sites/all/modules/editablefields/editablefields.module
--- editablefields/editablefields.module	2010-01-18 19:48:10.000000000 +1100
+++ public_html/sites/all/modules/editablefields/editablefields.module	2010-11-11 12:45:06.529618514 +1100
@@ -167,11 +167,34 @@ function editablefields_forms() {
 function editablefields_form_builder(&$form_state, $node, $field_name, $delta) {
   $field = content_fields($field_name);
 
-  $form = array('#node' => $node);
+  $form = array(
+    '#node' => $node,
+    'nid' => array( 
+      '#type' => 'value',
+      '#value' => $node->nid,
+    ),
+    'vid' => array( 
+      '#type' => 'value',
+      '#value' => $node->vid,
+    ),
+    'uid' => array( 
+      '#type' => 'value',
+      '#value' => $node->uid,
+    ),
+    'type' => array( 
+      '#type' => 'value',
+      '#value' => $node->type,
+    ),
+    'language' => array( 
+      '#type' => 'value',
+      '#value' => $node->language,
+    ),
+  );
+  
 //  $form_state = array('values' => array($field['field_name'] => $default_value));
   module_load_include('inc', 'content', 'includes/content.node_form');
   $form['#field_info'] = array($field['field_name'] => $field);
-  $form = content_field_form($form, $form_state, $field, $delta);
+  $form = array_merge($form, content_field_form($form, $form_state, $field, $delta));
 
   unset($form[$field_name]['#title']);
   if (is_array($form[$field_name][0]) && !is_array($form[$field_name][1])) {
