Skip to content Skip to sidebar Skip to footer

What Is The Expected Order Of An Array Submitted In An Html Form?

I'm wondering if there is any sort of guarantee on the order of POST variables I will see on the server side. My use case is I have a form that a user will fill out to enter a list

Solution 1:

why not add a grouping key like:

<td><inputtype='text'name='user[0][name]' /></td><td><inputtype='text'name='user[0][email]' /></td></tr><tr><td><inputtype='text'name='user[1][name]' /></td><td><inputtype='text'name='user[1][email]' /></td>

and then manuall set the user indexes when you clone based on the current number. This way everything is already coallated.

Solution 2:

What is the expected order of an array submitted in an HTML form?

According to the HTML specification:

The control names/values are listed in the order they appear in the document

http://www.w3.org/TR/html401/interact/forms.html#form-content-type

However, it's better coding practice to employ an indexed array approach as shown in prodigitalson's answer.

Solution 3:

Data will appear in same order like in form. So first row have key 0, second row - 1.

Solution 4:

As Vaidas Zilionis said, data will appear in exact the same order as they appear in the form, see the W3C's HTML 4.01 Specification:

application/x-www-form-urlencoded[...] 2. The control names/values are listed in the order they appear in the document.

multipart/form-data[...] A "multipart/form-data" message contains a series of parts, each representing a successful control. The parts are sent to the processing agent in the same order the corresponding controls appear in the document stream.

Post a Comment for "What Is The Expected Order Of An Array Submitted In An Html Form?"