Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt zakladek, prośba o pomoc w przeróbce skryptu AJAX
ksenonlogin
post 29.02.2012, 11:37:37
Post #1





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

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


Obecny skrypt działa dla dwóch możliwych zakładek, proszę o pomoc jak obsłużyć/przerobić skrypt by działał dla większej ilości zakładek/linków, np dla trzech, gdy zobaczę jak wprowadzać zmiany to bedę już wiedział jak zrobić to dla czterech czy pięciu.


Oto HTML:
  1. <a href="java script:void(pokaz_ukryj('dane_podstawowe', 'pozycjonowanie'))">Dane podstawowe</a>
  2. <a href="java script:void(pokaz_ukryj('pozycjonowanie', 'dane_podstawowe'))">Pozycjonowanie</a>
  3.  
  4. <div id="dane_podstawowe">
  5. Dane podstawowe...
  6. </div>
  7. <div id="pozycjonowanie" style="display:none">
  8. Pozycjonowanie...
  9. </div>




A tutaj Script:
  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. }
Go to the top of the page
+Quote Post

Posty w temacie
- ksenonlogin   Skrypt zakladek   29.02.2012, 11:37:37
- - Orzeszekk   W skrypcie który nam dałeś, w ogóle nie ma funkcji...   29.02.2012, 11:52:40
- - ksenonlogin   Wielkie dzięki Pozdrawiam   29.02.2012, 12:36:22


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:39