Eh, I guess I just had to give them the same name:

Code:
<?php
    if (isset($_POST['action'])) {
        switch ($_POST['action']) {
            case 'submitsave':
                submitsave(); break;
            default:
                create_form();
        }
    } else {
        create_form();
    }

    function create_form($subject = '', $body = '') {
        echo '<form action="work.php" method="post">
            <input type="hidden" name="action" value="submitsave" />
            <b>Subject</b>: <input type="text" name="subject" value="' . $subject . '" /><br />
            <b>Body</b>: <textarea name="body">' . $body . '</textarea><br /><br />
            <input type="submit" name="submit" value=" Preview " />
            <input type="submit" name="submit" value=" Submit " />
        </form>';
    }

    function submitsave() {
        if ($_POST['submit'] == ' Preview ') {
            preview();
            create_form($_POST['subject'], $_POST['body']);
        } else {
            echo '<b>Save News...</b>';
        }
    }

    function preview() {
        echo '<b>Subject</b>: ' . $_POST['subject'] . '<br />';
        echo '<b>Body</b>: ' . $_POST['body'] . '<br /><br />';
    }
?>
Is this valid HTML/JavaScript?