How to force page refreshes or reloads in jQuery?

JavascriptJqueryGoogle MapsRefreshReload

Javascript Problem Overview


The code below displays a Google map and search results when you enter an address and hit the submit button. I've been playing with it to try and force the page to completely refresh or reload once you hit the submit button. But I can't get it to work right. It loads the results "in page," but I'd like the page to completely refresh when the results load, like when you hit the back button on your browser. Hope that makes sense.

I think the answer lies in this line of code but I don't know jquery very well. It's near the bottom of the full code below.

<script type="text/javascript">
(function($) { 
	$(document).ready(function() {
		load();';
	

Here's the full code below. Any help would be greatly appreciated!

<?php
/*
SimpleMap Plugin
display-map.php: Displays the Google Map and search results
*/
$to_display = '';

if ($options['display_search'] == 'show') {
$to_display .= '
<div id="map_search" style="width: '.$options['map_width'].';">
	<a name="map_top"></a>
	<form onsubmit="searchLocations(\''.$categories.'\'); return false;"         name="searchForm" id="searchForm"     action="http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'">
		<input type="text" id="addressInput" name="addressInput" class="address"     />&nbsp;
		<select name="radiusSelect" id="radiusSelect">';
			
			$default_radius = $options['default_radius'];
			unset($selected_radius);
			$selected_radius[$default_radius] = ' selected="selected"';

			foreach ($search_radii as $value) {
    				$r = (int)$value;
    				$to_display .= '<option valu         e="'.$value.'"'.$selected_radius[$r].'>'.$value.' '.$options['units']."</option>\n";
			}
			
$to_display .= '	
		</select>&nbsp;
		<input type="submit" value="'.__('Search', 'SimpleMap').'"     id="addressSubmit" class="submit" />
		<p>'.__('Please enter an address or search term in the box above.',     'SimpleMap').'</p>
	</form>
</div>';
}
if ($options['powered_by'] == 'show') {
	$to_display .= '<div id="powered_by_simplemap">'.sprintf(__('Powered by %s     SimpleMap', 'SimpleMap'),'<a href="http://simplemap-plugin.com/"     target="_blank">').'</a></div>';
}

$to_display .= '
<div id="map" style="width: '.$options['map_width'].'; height:     '.$options['map_height'].';"></div>

<div id="results" style="width: '.$options['map_width'].';"></div>

<script type="text/javascript">
(function($) { 
	$(document).ready(function() {
		load();';    
		 
		if ($options['autoload'] == 'some') {
			$to_display .= 'var autoLatLng = new GLatLng(default_lat,     default_lng);
			searchLocationsNear(autoLatLng, autoLatLng.lat() + ", " +     autoLatLng.lng(), "auto", "'.$options['lock_default_location'].'", "'.$categories.'");';
		}
		
		else if ($options['autoload'] == 'all') {
			$to_display .= 'var autoLatLng = new GLatLng(default_lat,     default_lng);
			searchLocationsNear(autoLatLng, autoLatLng.lat() + ", " +     autoLatLng.lng(), "auto_all", "'.$options['lock_default_location'].'",     "'.$categories.'");';
		}
		
$to_display .= '
	});
})(jQuery);
</script>';

?>

Javascript Solutions


Solution 1 - Javascript

You don't need jQuery to do this. Embrace the power of JavaScript.

window.location.reload()

Solution 2 - Javascript

Replace that line with:

$("#someElement").click(function() {
    window.location.href = window.location.href;
});

or:

$("#someElement").click(function() {
    window.location.reload();
});

Solution 3 - Javascript

Or better

window.location.assign("relative or absolute address");

that tends to work best across all browsers and mobile

Solution 4 - Javascript

Replace with:

$('#something').click(function() {
    location.reload();
});

Solution 5 - Javascript

You can refresh the events after adding new ones by applying the following code: -Release the Events -set Event Source -Re-render Events

  $('#calendar').fullCalendar('removeEvents');
                  $('#calendar').fullCalendar('addEventSource', YoureventSource);         
                  $('#calendar').fullCalendar('rerenderEvents' );

That will solve the problem

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTimMacView Question on Stackoverflow
Solution 1 - JavascriptDiodeus - James MacFarlaneView Answer on Stackoverflow
Solution 2 - Javascriptkarim79View Answer on Stackoverflow
Solution 3 - JavascriptWiR3DView Answer on Stackoverflow
Solution 4 - Javascriptuser1016195View Answer on Stackoverflow
Solution 5 - JavascriptJabulani VilakaziView Answer on Stackoverflow