Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Poprawny submit formularza
Forum PHP.pl > Forum > Przedszkole
kkuubbaa88
witam

na stronie jest prosty formularz z jedną ukrytą wartością, którą chciałbym przesłać do strony za pomocą JS. Formularz po przesłaniu uruchamia gif z paskiem ładowania oraz zaczyna generować pdf.
  1. <form action="#" method="post" id="FormWydrukuj">
  2. <input type="hidden" name="wydrukuj" value="1"/>
  3. <div onclick="Wydrukuj();" title="Wydrukuj"></div>
  4. </form>

Teraz mój problem:
Podczas dodania dodatkowego buttona 'submit' po naciśnięciu cała strona się przełądowywuje i zostaje wygenerowany pdf. podczas przeładowania znika gif z ładowaniem.
  1. <input type='submit' name='submit' value='submit'/>

Podczas wywołania submit z poziomu JS generowany jest pdf, natomiast cała strona nie jest w żadnym stopniu przeładowana i gif z ładowaniem nie znika...
[JAVASCRIPT] pobierz, plaintext
  1. function Wydrukuj(){
  2. var obiekt = document.getElementById("ladowanie");
  3. obiekt.innerHTML = '<img src="images/progressbar.gif"/>';
  4. document.forms["FormWydrukuj"].submit();
  5. }
[JAVASCRIPT] pobierz, plaintext

dlaczego jeden submit różni się od drugiego ? nie powinno to działać w taki sam sposób ?
gargamel
  1. document.forms["FormWydrukuj"].submit();
odwołuje się do atrybutu name formularza, a nie do id, chociaż głowy nie dam.
Jeśli chcesz użyć FormWydrukuj to zrób to tak:
  1. document.getElementById("FormWydrukuj").submit();

Edit:
Chociaż nie wiem czy w tym może tkwić problem. Pokombinuj może z ustawianiem "action" formularza przez JS
kkuubbaa88
zmieniłem, ale problem nie w tym tkwi smile.gif nadal jeden submit różni się od drugiego...
gargamel
A wpisz w action zamiast "#" , nazwę pliku index.php czy tak tam się Twoja strona się zwie.
wNogachSpisz
Jeśli nazwiesz któryś z elementów formularza "submit"
to próba wykonania funkcji submit() na referencji formularza zakończy się fiaskiem.

Dwa rozwiązania:
1. zmień nazwę elementu submit
2. wykonaj funkcję click() na elemencie submit zamiast submit() na formularzu..
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.