Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Polskie znaki, skrypt niszczy polskie znaki POST
ksenonlogin
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 3
Dołączył: 29.10.2011

Ostrzeżenie: (0%)
-----


Witam

Poniżej znajduje się skrypt który ma za zadanie przesłać dane z formularza "w tle"-bez przeładowywania strony (metodą POST) do skryptu PHP.
Wszystko jest ok jednak skrypt powoduje zamianę polskich znaków na nieczytelny ciąg np.: "śćżźęął" zamienia na "%u015B%u0107%u017C%u017A%u0119%u0105%u0142"

  1. function xmlhttpPost(strURL, formname, responsediv, responsemsg) {
  2. var xmlHttpReq = false;
  3. var self = this;
  4. if(window.XMLHttpRequest) {
  5. self.xmlHttpReq = new XMLHttpRequest();
  6. } else if(window.ActiveXObject) {
  7. self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
  8. }
  9. self.xmlHttpReq.open('POST', strURL, true);
  10. self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  11. self.xmlHttpReq.onreadystatechange = function() {
  12. if(self.xmlHttpReq.readyState == 4) {
  13. updatepage(self.xmlHttpReq.responseText, responsediv);
  14. } else {
  15. updatepage(responsemsg, responsediv);
  16. }
  17. }
  18. self.xmlHttpReq.send(getquerystring(formname));
  19. }
  20.  
  21. function getquerystring(formname) {
  22. var form = document.forms[formname];
  23. var qstr = "";
  24. function GetElemValue(name, value) {
  25. qstr += (qstr.length > 0 ? "&" : "") + escape(name).replace(/\+/g, "%2B") + "=" + escape( value ? value : "").replace(/\+/g, "%2B");
  26. }
  27.  
  28. var elemArray = form.elements;
  29. for(var i = 0; i < elemArray.length; i++) {
  30. var element = elemArray[i];
  31. var elemType = element.type.toUpperCase();
  32. var elemName = element.name;
  33. if(elemName) {
  34. if(elemType == "TEXT" || elemType == "TEXTAREA" || elemType == "PASSWORD" || elemType == "BUTTON" || elemType == "RESET" || elemType == "SUBMIT" || elemType == "FILE" || elemType == "IMAGE" || elemType == "HIDDEN")
  35. GetElemValue(elemName, element.value);
  36. else if(elemType == "CHECKBOX" && element.checked)
  37. GetElemValue(elemName, element.value ? element.value : "On");
  38. else if(elemType == "RADIO" && element.checked)
  39. GetElemValue(elemName, element.value);
  40. else if(elemType.indexOf("SELECT") != -1)
  41. for(var j = 0; j < element.options.length; j++) {
  42. var option = element.options[j];
  43. if(option.selected)
  44. GetElemValue(elemName, option.value ? option.value : option.text);
  45. }
  46. }
  47. }
  48. return qstr;
  49. }
  50.  
  51. function updatepage(str, responsediv) {
  52. document.getElementById(responsediv).innerHTML = str;
  53.  
  54. }


Ten post edytował ksenonlogin 3.03.2012, 14:47:03
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 21:35