Rgpost not getting field value [RESOLVED]

add_filter( 'gform_pre_submission_18', 'time_calculation' );
function time_calculation($form){
	$getvalue = rgpost("input_18_5_1");
	if (!empty($getvalue)){
		echo $getvalue;}
	else echo ("no value");
}

I am trying to do time calculation when user hits submit, but before an entry is made. Following guides and documentations online, rgpost() is what I am looking for. But it did not return the field value, the above snippet echos no value.

The field value I try to grab is the Time Widget in 12 hour format, input_18_5_1 is the hour input.

I have tried to use the number widget’s calculation function, but the duration did not show up in real time as user make changes.

Rather than using echo for debugging, I would recommend you to enable logging.

That would allow you to add custom logging statements to your code. For example to dump the full contents of $_POST to the log to confirm if there’s really a value for that input or something wrong with rgpost:

GFCommon::log_debug( __METHOD__ . '(): $_POST content => ' . print_r( $_POST, true ) );

Per your instructions Sam, the core log file did not have an item for this debug call. Then do we assume, rgpost() is not working properly?

Hello. I am not sure why your logging is not working. rgpost is definitely still working, and gform_pre_submission is still working.

The time values are submitted as an array for the field, so you can’t use rgpost alone. Try like this:

// form 18 only
add_filter( 'gform_pre_submission_18', 'time_calculation' );
function time_calculation( $form ){
	// time field is ID 5
	$time = rgpost("input_5");
	$hour = $time[0];
	$min  = $time[1];
	$ampm = $time[2];
	if (!empty($hour)){
		GFCommon::log_debug( __METHOD__ . "(): Hour is {$hour}." );
	}
	else {
		GFCommon::log_debug( __METHOD__ . "(): Hour is not set." );
	}
}

Thank you so much Chris! With this method, I was able to review the data in logging.
I believe the fix is you have defaulted input_5 for time field. I was using the ID from inspect element instead of name, will take note for future uses.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.