Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][JavaScript][MintAjax]Problem z textarea
Forum PHP.pl > Forum > Przedszkole
szlipek
A mianowicie mam 2 pliki jeden to html w którym jest formularz a drugi to php obliczający dane z formularza. Obliczam za pomocą AJAXa żeby mi nie przeładowywało i używam do tego MintAjax. Problem polega na tym że kod który przerabiam w php ma mi zwrócić w polu textarea. I tu jest problem ponieważ pod każdą przeglądarką jest inny problem. W firefox zwraca mi wszystkie zmienne tak jak ma ale przy okazji dodaje kod html czyli każde <table> <b> itp oraz główkę strony czyli<! DOCTYPE html PUBLIC "_//W3C//DTD XHTML 1.0 Transitional//EN"> itd. W operze wygląda to tak że gubi całe style tabeli czyli nie jest wszystko jedno pod drugim lecz jest wszystko obok siebie. W Chromie zwraca mi tylko jedną linijkę tekstu osobnego który jest w innym echo. A w IE textarea jest puste czyli kompletnie nic mi nie zwraca. 

Kod html

  1.  
  2. <script type="text/javascript">
  3.  
  4.  
  5. function SendRequest() {
  6.   var req = mint.Request();
  7.    
  8.   req.OnSuccess = function() {
  9.   $("response").innerHTML = this.responseText;
  10.   
  11.   }
  12.    
  13.   req.SendForm("form");
  14.   document.getElementById("wyslij").style.visibility='visible';
  15.   
  16. }
  17.  
  18.  
  19. <form name="formularz" id="form" method="POST" action="./oblicz.php">
  20.  
  21. Tu znajduje się formularz
  22.  
  23. </form>
  24. <button onclick="SendRequest()">Oblicz</button>
  25.  
  26. <form name="wyslij" id="wyslij" method="POST" action="./przeslij.php">
  27.  
  28. <textarea id="response" name="response" rows="8" cols="60" readonly></textarea><br />
  29. <input type="submit" name="submit" value="przejdz dalej"></form></center>
  30.  
  31.  




A oto kod PHP który jest odpowiedzialny za wyświetlenie zmiennych. 

  1.  
  2. echo ='<center><table cellspacing="5" cellpadding="5" >
  3.  <tr><td align="right"><b>Druk:</b></td><td>' . $druk . '</td></tr>
  4.  <tr><td align="right"><b>Szerokość:</b></td><td>' . $szer . '</td></tr>
  5.  <tr><td align="right"><b>Wysokość:</b></td><td>' . $wys . '</td></tr>
  6.  <tr><td align="right"><b>Papier:</b></td><td>' . $papier . '</td></tr>
  7.  <tr><td align="right"><b>Gramatura:</b></td><td>' . $gramatura . 'g/m<sup>2</sup></td></tr>
  8.  <tr><td align="right"><b>Nakład:</b></td><td>' . $naklad . 'szt.</td></tr>
  9.  <tr><td align="right"><b>Cena:</b></td><td>' . $cena . 'PLN<sup>*</sup></td></tr></table></center>';
  10.  
  11.  
  12.  echo "<sup>*</sup> - Do ceny doliczany jest podatek VAT w wysokości 22%.";


erix
Daj to gdzieś na żywo.
Skie
Po 1. - czemu przy pierwszym echo masz jakiś znak '=' ?

Po 2. - jeżeli $("response") to textarea to nie używaj innerHTML tylko value:
Kod
$("response").value = this.responseText;
szlipek
http://projekty.svp.pl/kalkulator/kalkulator1



Z tym = przy echo to poprostu przeoczenie. A z tym value to pomogło co do jednej rzeczy we wszystkich przeglądarkach wygląda tak samo. Ale i tak źle bo jest <DOCTYPE .... a chciałbym żeby poprostu było Druk :jednostronny

Skie
A próbowałeś użyć this.responseXML?

Bo responseText z tego co pamiętam, to po prostu czysty tekst - nie formatuje niczego.
szlipek
jak dawałem this.responseXML to zwracało mi undefinied
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.