Europe Region Pack for eShop Dynamic Checkout Form

Dynamically display European States/Regions for eShop Checkout form.

Available Countries:

  • Albania
  • Andorra
  • Armenia
  • Austria
  • Azerbaijan
  • Belarus
  • Belgium
  • Bosnia
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Georgia
  • Germany
  • Greece
  • Hungary
  • Iceland
  • Italy
  • Kazakhstan
  • Latvia
  • Liechtenstein
  • Lithuania
  • Luxembourg
  • Macedonia
  • Monaco
  • Netherlands
  • Norway
  • Poland
  • Portugal
  • Republic Of Ireland
  • Romania
  • Russia
  • San Marino
  • Serbia
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • Switzerland
  • Turkey
  • Ukraine
  • United Kingdom

Total regions: 1465


  1. Upload into your WordPress plugins directory;
  2. Activate the plugin.

eShop Checkout Dynamic States, required for this extension to work.

eShop Dynamic Checkout State/County/Province – Region Packs

Dynamically load the correct State/County/Province in Checkout forms according to the selected Country.

This is where you find extension packs for eShop Dynamic Checkout State/County/Province.

  • South America

Click for details

[eshop_addtocart id=”1587″]

  • Europe

Click for details

[eshop_addtocart id=”1629″]

Check back often for newly added regions!

South America Region Pack for eShop Dynamic Checkout Form

Dynamically display South American States/Regions for eShop Checkout form.

Available Regions:

  • Argentina
  • Bolivia
  • Chile
  • Colombia
  • Ecuador
  • Guyana
  • Paraguay
  • Peru
  • Suriname
  • Uruguay
  • Venezuela

Brazil is not included in this file because it comes with eShop Checkout Dynamic States, required for this extension to work.


  1. Upload into your WordPress plugins directory;
  2. Activate the plugin.

Introduction to Ajax

In this article, I provide an explanation of Ajax with a historical introduction and WITHOUT the use of any frameworks such as jQuery. If you are eager to start seeing the code, please scroll down.


What is Ajax?

Ajax stands for Asynchronous Javascript And XML. It’s a way to call back-end scripts asynchronously – that is, without impacting user experience/flow. Basically, you don’t even see the cursor become an hourglass or whatever other “waiting/processing” icon your system uses. It’s not a language, but a technique. As for back-end scripts, you can use whatever you feel more comfortable with: PHP, Perl, Java, JSP, Shell, C, etc. The way to choose which technology to use as back-end is outside the scope of this article.

 Historical approach for calling back-end apps

Throughout web-development history, the very first way used to achieve back-end processing followed by front-end display was to create a form and set the back-end script as the action to that form. Upon submission, the form fields would be sent to the back-end script as a series of special environment variables, which would then be handled by the programmed logic. The back-end output would be displayed on the screen (either the same page/frame or a different page/frame, depending on the target attribute of the form).

The catch 22 of this approach is that if you want to present another form after processing, that form must be produced by the back-end script, which leads to maintenance mayhem – to add or remove a field, you have to do so in both the original HTML and in the HTML of the back-end script.

Continue Reading…

Ajax: Form fields into URL query string

Here’s a quickie for you Ajax coders who need a function to parse your form fields into a URL query string. It handles input fields (text, hidden, whatever), radio and checkbox elements, and single/multiple select menus. Just make sure that all your form fields have IDs. Multiple choice SELECTs get grouped by pipes (|). Update:Modified multiple-choice SELECTs to work like real GETs.

function build_post_string(frm) {
	var poststr;
	var poststr_array = [];
	if (! {
		// assume it's a string. get the form object
		frm = document.getElementById(frm);
	for (i=0;i<frm.elements.length;i++){

		var elem = frm.elements;
		if (! {
			// skip any fields that don't have IDs
		if (elem.type == 'radio' || elem.type == 'checkbox') {
			// only grab radio buttons and checkboxes that are checked
			if (!elem.checked) {
		// get select values
		if (elem.nodeName.match(/SELECT/i) && elem.multiple) {
			//var sel = elem;
			var sel_array = new Array();

			for (var o=0;o<elem.options.length;o++) {
				if (elem.options[o].selected) {
					sel_array[sel_array.length] ="="+elem.options[o].value;	
			var sel_str = sel_array.join('&');
			// build key/value pairs for SELECTs
			poststr_array[poststr_array.length] = sel_str;
		else if (elem.nodeName.match(/SELECT/i)) {
			poststr_array[poststr_array.length] ='='+elem.options[elem.selectedIndex].value;
		else {
			// build key/value pairs for everything else
			poststr_array[poststr_array.length] ="="+elem.value;

	// build poststr
	poststr = poststr_array.join("&");
	return poststr;


Book Suggestions:


Ajax Eye Candy: Create throbbers (“Wait” icons) on the fly

This is by far the coolest and handiest website I’ve come across in a very long time. Get your very own Wait icons for Ajax implementations on the fly.

It’s not mine, and I don’t know the author… but click an ad there if you like it. The guy deserves it.