# charitable/1.7.0.2/assets/js/charitable-forms.js

Charitable – Donation &amp; Fundraising Platform (Donation Forms, Recurring Donations &amp; Fundraising Campaigns), version 1.7.0.2. 43 lines.

- Page: https://pluginprobe.com/plugins/charitable/1.7.0.2/code/assets/js/charitable-forms.js
- Raw: https://pluginprobe.com/plugins/charitable/1.7.0.2/raw/assets/js/charitable-forms.js
- Modified: 2020-08-28T06:08:02+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/charitable/1.7.0.2/code/assets/js/charitable-forms.js#L10-L20`.

```javascript
( function( $ ) {
	/**
	 * Disable forms after submission.
	 */
	var disable_forms_after_submission = function( forms ) {
		forms.forEach( function(form) {
            var $form = $(form);

            if ( $form.length ) {
                $form.append( '<input type="hidden" id="charitable-submit-button-value" />' );

                $form.find( '[type=submit]' ).on( 'click', function( event ) {
                    /* If the form submission isn't valid, proceed no further. */
                    if ( ! $form[0].checkValidity() ) {
                        return;
                    }

                    var name = event.currentTarget.name,
                        value = event.currentTarget.value;

                    $form.find( '#charitable-submit-button-value' )
                        .attr( 'name', name )
                        .attr( 'value', value );

                    $form.find( '[type=submit]' )
                        .attr( 'disabled', 'disabled' );

                    return $form.submit();
                } );
            }
        } );
	}

	$( document ).ready( function() {
		disable_forms_after_submission(
			[
				'#charitable-registration-form',
				'#charitable-profile-form',
				'#charitable-campaign-submission-form'
			]
		);
	} );
})( jQuery );
```
