Index: rules_forms/rules_forms.rules.inc
===================================================================
--- rules_forms/rules_forms.rules.inc	(revision 3065)
+++ rules_forms/rules_forms.rules.inc	(working copy)
@@ -143,6 +143,23 @@ function rules_forms_rules_action_info() {
       ),
       'module' => 'Rules Forms',
     ),
+    'rules_forms_action_set_element' => array(
+      'label' => t('Set the default value of a form element'),
+      'arguments' => array(
+        'form' => array('type' => 'form', 'label' => t('Form')),
+        'element' => array(
+          'type' => 'string',
+          'label' => t('Form element ID'),
+          'description' => t('The element that should be targeted.') .' '. _rules_forms_element_description(),
+        ),
+        'value' => array(
+          'type' => 'string',
+          'label' => t('Default value'),
+          'description' => t('The value that will be displayed as default.'),
+        ),
+      ),
+      'module' => 'Rules Forms',
+    ),
   );
 }
 
@@ -256,6 +273,20 @@ function rules_forms_action_set_error(&$form, $ele
 }
 
 /**
+ * Action implementation: Set the default value.
+ */
+function rules_forms_action_set_element(&$form, $element, $value) {
+  $form_element = &_rules_forms_get_element($form, $element);
+  if (is_array($form_element['#default_value'])) {
+    // CCK saves the default value as array
+    $form_element['#default_value']['value'] = $value;
+  }
+  else {
+    $form_element['#default_value'] = $value;
+  }
+}
+
+/**
  * Helper function to extract a reference to a form element by a given name.
  */
 function &_rules_forms_get_element(&$form, $name) {
@@ -332,4 +363,4 @@ function rules_forms_equal_array_values($array1, $
 
 /**
  * @}
- */
\ No newline at end of file
+ */
Index: rules_forms/rules_forms.rules_forms.inc
===================================================================
--- rules_forms/rules_forms.rules_forms.inc	(revision 3065)
+++ rules_forms/rules_forms.rules_forms.inc	(working copy)
@@ -84,6 +84,13 @@ function rules_forms_action_prefix_suffix_html_val
 }
 
 /**
+ * Action set element configuration form.
+ */
+function rules_forms_action_set_element_form($settings, &$form) {
+  $form['settings']['value']['#required'] = FALSE;
+}
+
+/**
  * Label callback for adjusting weights action.
  */
 function rules_forms_action_adjust_weight_label($settings, $argument_labels) {
@@ -141,8 +148,15 @@ function rules_forms_action_set_error_label($setti
 }
 
 /**
+ * Label callback for set default value action.
+ */
+function rules_forms_action_set_element_label($settings, $argument_labels) {
+  return t("Set default value on form element '@element' to '@value'", array('@element' => $settings['element'], '@value' => $settings['value']));
+}
+
+/**
  * Label callback for element value condition.
  */
 function rules_forms_condition_element_value_label($settings, $argument_labels) {
   return t("Form element '@element' value check", array('@element' => $settings['element']));
-}
\ No newline at end of file
+}
