Witam,

Chciałbym przesłać wszystkie dane z dowolnego formularza do pliku .php - załadować ten plik do odpowiedniej warstwy o odpowiednim id=substance.
W chwili obecnej mam coś takiego:
  1. <form id="u_default" method="get">
  2. Domyślny tytuł strony:<br>
  3. <input type="text" name="defaultname" value="<?print($page);?>" /><br><br>
  4. Domyślne słowa kluczowe strony:<br>
  5. <input type="text" name="defaultkeys" size="70" value="<?print($page->defaultkeys);?>" /><br><br>
  6. Domyślny opis strony widoczny dla wyszukiwarek<br>
  7. <textarea name="defaultdescription"><?print($page->defaultdescription);?></textarea>
  8. <br><br>
  9. <input type="button" onclick="save('u_default')" value="Zapisz" />
  10. </form>

kod js:
  1. <?php
  2. function save($name){
  3.        var Data = $("#substance #"+$name).formToArray();
  4.        alert(Data);
  5.        $("#substance").html('cierpliwości... wczytuję dane');
  6.        $.ajax({
  7.                type: "GET",
  8.                url: $name+".php",
  9.                data: {save:'1',arrData:Data},
  10.                dataType: "html",
  11.                success: function(data) {
  12.                    $("#substance").html(data);
  13.                    }
  14.  
  15.        })}
  16. ?>

niby działa ale w jaki sposób wyświetlić odpowiednie pola arrData w pliku wynikowym?
$_GET['arrData'] zwraca mi [object Object]
to samo tyczy się alertu wyświetla trzy razy [object Object]
jak to ugryźć najlepiej, szukałem kombinowałem ale dzisiaj jest tak ciepło i w dodatku niedziela... no i coś mi nie wychodzi.... sad.gif


...........................
oki troche popłynąłem....

Już wiem jak przesłać wszystkie zmienne z formularza ale............

gdy mam coś takiego:....

  1. <?php
  2. <script type="text/javascript">
  3.       // wait for the DOM to be loaded
  4.        $(document).ready(function() {
  5.            $('#substance #u_default').ajaxForm({
  6.                target: '#substance',
  7.                type: 'GET'
  8.            });
  9.        });
  10.        </script>
  11. ?>


a formularz o id=u_default w warstwie id=substance
to wszystko pięknie działa

Problem pojawia się natomiat gdy ten formularz do warstwy id=substance ładuje się dopiero po kliknięciu i wykonaniu funkcji:

  1. <?php
  2. function loadsubstance($name){
  3.        $("#substance").html('cierpliwości... wczytuję dane dla '+$name);
  4.        $.ajax({
  5.                type: "GET",
  6.                url: $name+".php",
  7.                data: {},
  8.                dataType: "html",
  9.                success: function(data) {
  10.                    $("#substance").html(data);
  11.                    }
  12.  
  13.        })}
  14. ?>


jak się do tego odwołać? gdzie umieścić funkcję ajaxForm()?
...
prawdę mówiąc to tego typu problem pojawia mi się juz nie pierwszy raz i nie rozwiązałem go odkąd zacząłem interesować się ajaxem :/
pomocy! proszę!...

......................................................
W sumie to się nie dziwie że nikt nie odpisał....

zrobiłem to w ten sposób:
  1. <?php
  2. function loadsubstance($name){
  3.        $("#substance").html('cierpliwości... wczytuję dane dla '+$name);
  4.        $.ajax({
  5.                type: "GET",
  6.                url: $name+".php",
  7.                data: {},
  8.                dataType: "html",
  9.                success: function(data) {
  10.                    $("#substance").html(data);
  11.                    $('#'+$name).ajaxForm({target: '#substance',type: 'GET'});
  12.                    }
  13.  
  14.        })}
  15. ?>