Forum for discussing general topics related to Couch.
2 posts Page 1 of 1
Is there a way to clear the form after a successful POST?
There are several ways of doing so (as discussed in several threads on this forum).
However, IMHO, the following method is the cleanest -

Suppose this is the form we are dealing with
Code: Select all
<cms:form method='post' anchor='0'>
    <cms:if k_success >
        .. take action like sending email etc. ..
    </cms:if>
   
    <cms:input name='first_name' type='text' />
    <button type="submit">Submit</button>
</cms:form>

After whatever action you want to take in the success condition, simply add a redirect statement like this -
Code: Select all
<cms:form method='post' anchor='0'>
    <cms:if k_success >
        .. take action like sending email etc. ..
       
        <cms:redirect k_page_link />
    </cms:if>
   
    <cms:input name='first_name' type='text' />
    <button type="submit">Submit</button>
</cms:form>

While redirecting will clear up the form data, we'd ideally also want to show some kind of a success message to the visitor. This can be done using the 'flash variables' -
Code: Select all
<cms:if "<cms:get_flash 'submit_success' />" >
    <h2> Thank you for contacting us. </h2>
</cms:if>
       
<cms:form method='post' anchor='0'>
    <cms:if k_success >
        .. take action like sending email etc. ..
       
        <cms:set_flash 'submit_success' '1' />
        <cms:redirect k_page_link />
    </cms:if>
   
    <cms:input name='first_name' type='text' />
    <button type="submit">Submit</button>
</cms:form>

If you happen to get an error message complaining that tags 'get_flash' or 'set_flash' are unknown, please enable the 'session' addon by uncommenting the following line in 'couch/addons/kfunctions.php' file (if kfunctions is not present in the said folder, you'll have to rename the 'kfunctions.example.php' to 'kfunctions.php' first).
Code: Select all
//require_once( K_COUCH_DIR.'addons/cart/session.php' );

Hope this helps.
2 posts Page 1 of 1