document.write input type hidden will only pass string variable up to the first space
I have verified that the variable does indeed contain the whole address and I have also verified when I execute the following:
document.write ('<input type="hidden" name="address1" value='+address_1+'>');
the address_1 parameter passed to the php script only passes the string up to the first space.
I even tried to put fixed text in there instead of a variable (e.g.)
document.write ('<input type="hidden" name="address1" value="555 Drury Lane" >');
and it still only passes the string up to the first space (555).
I show the variable address_1 on my confirmation page and it shows the entire string.
All my other variables (which don't have spaces) pass to the php script with no problems.
I did a lot of searches but could not find any comprehensive solution to this particular issue. Any assistance would be appreciated.
For the beginning make sure you use the same charset both in your document and your Data Base. utf-8 is desirable.
Thanks for responding Kor, I appreciate your suggestion. They are using the same character set as far as I can tell.
To add to the investigations I have done, I am capturing this information (the string variable) both with document.writes in my html file and echos in my PHP file (several different locations though the programs) prior to writing anything to the database to verify its content. In fact, I have commented out the actual write to the database so I don't fill it with garbage. Of course, I discovered the problem originally the first time I wrote to the database - so I have tried that.
A couple of other things to add here. I originally did not have a "confirmation" page, just a submit after filling in the fields and that worked as advertised, including passing the entire string. Also, I think I have actually captured what is being passed to the PHP program for this field and I believe it looks like (using the previous example) 555+Drury+Lane.
Now, I can probably get this to work by parsing the string into several different variables but this seems to be a little messy to me. I would really rather it passed the entire string as I believe it should.
Kor, I will reverify your suggestion again just to make sure. Thanks again for your suggestion.
Kor, my html files were actually windows-1252 charset. I changed them to utf-8 and also verified that PHP was UTF-8 enabled (MB_STRINGS was enabed) but I still have the same issue.
address_1= address_1.replace(/ /g, "ascii space character"); (I could not put the value in between the quotes because in preview it shows as a space but the code is "& # 32 ;" spread apart so it is not interpreted as a space by this document.
IT WORKS. Now the variable passed is correctly posted into the database with spaces as required.
Now, on to the next challenge???
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Tags for this Thread