Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][HTML]Podwojny <form>
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


Witam, chodzi o to ze napisalem sobie stronke i musialem zrobic cos takiego:

  1. tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc
  2. tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc
  3. tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc
  4. <form name="a">
  5. <input name="imie"/>
  6. <input name="nazwisko"/>
  7. <input name="data"/>
  8. <form name="b">
  9. Tutaj jest drugi form dlatego że jak go nie bylo to na IE Javascript nie widział tego:
  10.  
  11. <select name="bg" size="10" onchange="getData('tap');">
  12. <?
  13. while ($wiersz2 = mysql_fetch_row($idzapytania))
  14. {
  15. ?>
  16. <option value="<?echo $wiersz2[0];?>"><?echo $wiersz2[1]; ?></option>
  17. <?
  18.  
  19. }
  20. echo '</select>';
  21. echo '</form>';
  22. echo '</div>';
  23. echo '<div id="tap">Tu pojawi się strona z AJAXa</div>';
  24.  
  25. Teraz tak: dalej mam
  26. <input name="data"/>
  27. <input name="klasa"/>
  28. <input name="godzina"/>
  29. <input type="submit"/>
  30. </form>
  31. tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc
  32. tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc
  33. tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc tresc


Tak jak zaznaczyłem w środku mam dwa znaczniki form i jeden przycisk submit, który nie wysyła formularza.(IMG:style_emoticons/default/sad.gif)
Sprawa jest taka że chciałbym żeby wysyłał

Form B jest tylko po to żeby js sie do niego odwolywal (document.d.bg.value)

Ten post edytował neo1986kk 10.03.2010, 08:49:23
Go to the top of the page
+Quote Post
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Na początek wywal ten środkowy formularz. Nie może być formularza w formularzu.
Jak już usuniesz tez formularz, to dodaj atrybut action i method do pierwszego formularza.

Do tego nie zamykasz kodu PHP po ostatnim echo - wiersz 24.

Popraw te błędy, a powinno zadziałać.
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie mozna zagnieżdzać formularzy - zapamiętaj to sobie raz na zawsze. Nie wazne ze ty to robisz tylko po to, by dostac sie do jakiegos elementu.

Do dobierania sie do elementow sluzy masa rzeczy:
document.getElementById
document.getElementsByTagName
inne.

Go to the top of the page
+Quote Post
neo1986kk
post
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


wiedzialem że moge na was liczyć(IMG:style_emoticons/default/smile.gif) zaraz bede kombinował.

Ale jak nie ma tego forma to nie dziala znowu innerHTML ale tylko na IE, i nie chodzi o to żeby pobrać te dane tylko poprostu juz sam nie wiem o co mu chodzi ze musi miec te znaczniki tam


a powiedzcie mi jeszcze czy jest sens robienia czegoś takiego.

  1. tresc tresc......
  2. <form name=b>
  3. <?
  4. zawartos php
  5.  
  6. ?>
  7. </form>
  8.  
  9. <form name="a">
  10. i tutaj te wszystkie inputy



Ale w efekcie uzyskac takie coś to znaczy w CSS...

input
input
form a
input
inupt


Czyli ogolnie pytanie czy dało by się zrobić tak żeby ten form b wrzucić w środek dokumentu przy uzyciu css



Ten post edytował neo1986kk 10.03.2010, 08:58:37
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Ale jak nie ma tego forma to nie dziala znowu innerHTML
innerHTML dziala zawsze. Zapewnie nie pobrało ci elementu, dla ktorego chcesz robic innerHTML.
Juz ci mowilem jak masz pobierac elementy
Go to the top of the page
+Quote Post
neo1986kk
post
Post #6





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


zmieniłem to i na FF pobiera a na IE nie... a wystarczy że wstawie puste znaczniki <form> bez nazwy bez id bez niczego i wtedy na IE dziala no ale mam zagnieżdzone 2 formy... i nie wysyla sie formularz...
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
a wystarczy że wstawie puste znaczniki <form>
rety... przeciez ci mowimy, ze tak nie mozna...
pokaz lepiej twoj kod po zmianach bez formow. pokaz kod html i pokaz kod w jaki pobierasz ten nieszczesny element. No przeciez wrozyc nie bedziemy...
Go to the top of the page
+Quote Post
neo1986kk
post
Post #8





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


  1. <form name="a" action="rejestracja_etap2.php">
  2. Nr Gadu-Gadu</td><td>
  3. <input class="rejestracja" type="text" name="GG"></input><span class="wyp"></span>
  4. </td>
  5. </tr>
  6. </table>
  7. <table class="info">
  8. <tr><td>
  9. <div id="info">Pola oznaczone gwiazdką musza być wypełnione</div>
  10. </td></tr>
  11. </table>
  12. </div>
  13. </div>
  14. </div>
  15.  
  16. <div id="news">
  17. <div id="okno">
  18.  
  19. <?
  20. echo '<div id="wszystko">';
  21. echo '<div id="div1">';
  22.  
  23. $zapytanie101 = "SELECT * FROM dzialy";
  24. $idzapytania101 = mysql_query($zapytanie101);
  25. ?>
  26. Wybierz swój dział<br>
  27. <select id="sel" name="bg" size="10" onchange="getData('tap');">
  28. <?
  29. while ($wiersz2 = mysql_fetch_row($idzapytania101))
  30. {
  31. ?>
  32. <option value="<?echo $wiersz2[0];?>"><?echo $wiersz2[1]; ?></option>
  33. <?
  34.  
  35. }
  36. echo '</select>';
  37. echo '</div>';
  38. echo '</div>';
  39. echo '<div id="tap">tu powinien pojawić sie AJAX</div>';
  40. echo '</div>';
  41.  
  42. ?>
  43. </div>
  44. </div>
  45.  
  46. dalej inputy zwykle.
  47.  




getData
  1. function getData(divID) {
  2.  
  3.  
  4. var si = document.getElementById('sel').selectedIndex;
  5. var fname = document.getElementById('sel').options[si].value;
  6.  
  7. var divID = document.getElementById(divID);
  8. if (XMLHttpRequestObject) {
  9. XMLHttpRequestObject.open("POST", "dzialy2.php");
  10. XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  11.  
  12. XMLHttpRequestObject.onreadystatechange = function ()
  13. {
  14. if (XMLHttpRequestObject.readyState == 4)
  15. {
  16. divID.innerHTML = XMLHttpRequestObject.responseText;
  17. }
  18. }
  19. XMLHttpRequestObject.send('mojobiekt=' + escape(fname));}
  20. }


Jeszcze mogę dodać co może być istotne dla ie że moj dokument wygląda tak:

<div id="news">
<div id="okno">
input
input
</div></div>

<div id="news">
<div id="okno">
input
input
</div></div>

<div id="news">
<div id="okno">
TU MOJE NIESZCZĘSNE PHP
</div></div>

<div id="news">
<div id="okno">
input
input
</div></div>

Ten post edytował neo1986kk 10.03.2010, 09:37:42
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a nie mozesz napisac tak:
Kod
document.getElementById('tap').innerHTML = XMLHttpRequestObject.responseText;

?
Go to the top of the page
+Quote Post
neo1986kk
post
Post #10





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


Napisałem tak i wynik bez zmian

nieznany błąd czasu wykonywania wiersz 17 znak 1
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




po pierwsze: kod co ci podalem, a konkrentie document.getElementById nie powoduje bledu co podales.
po drugie: masz bledy logiczne. Nie moze istniec wiele elementów o tym samym ID. Uporządkuj jakaś tę strukture.
Go to the top of the page
+Quote Post
neo1986kk
post
Post #12





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


zmiana nazw id nic nie pomaga, chyba napisze to wszystko od początku bo teraz szukam jeszcze rozwiązań i kopiuje sobie kawałkami. To co się dzieje z tym dokumentem to jest masakra jakaś.

Zwróćmy uwage na znacznik </form>

Takie ustawienie dziala
  1. $zapytanie101 = "SELECT * FROM dzialy";
  2. $idzapytania101 = mysql_query($zapytanie101);
  3. ?>
  4. Wybierz swój działoszyn<br>
  5. <select name="bg" size="10" onchange="getData('tap');">
  6. <?
  7. while ($wiersz2 = mysql_fetch_row($idzapytania101))
  8. {
  9. ?>
  10. <option value="<?echo $wiersz2[0];?>"><?echo $wiersz2[1];echo $wiersz2[0];?></option>
  11. <?
  12.  
  13. }
  14. echo '</select>';
  15. echo '</form>';
  16. echo '</div>';
  17. echo '<div id="tap">fdgdgf</div>';
  18. echo '</div>';
  19.  
  20. ?>


A takie juz nie:
  1. $zapytanie101 = "SELECT * FROM dzialy";
  2. $idzapytania101 = mysql_query($zapytanie101);
  3. ?>
  4. Wybierz swój działoszyn<br>
  5. <select name="bg" size="10" onchange="getData('tap');">
  6. <?
  7. while ($wiersz2 = mysql_fetch_row($idzapytania101))
  8. {
  9. ?>
  10. <option value="<?echo $wiersz2[0];?>"><?echo $wiersz2[1];echo $wiersz2[0];?></option>
  11. <?
  12.  
  13. }
  14. echo '</select>';
  15.  
  16. echo '</div>';
  17. echo '<div id="tap">fdgdgf</div>';
  18. echo '</div>';
  19.  
  20. ?>
  21. </form>


Wg mnie jest to dziwne, szczególnie że ten znacznik chciałbym ustawić na końcu dokumentu czyli jakieś 600 linijek niżej.

Ten post edytował neo1986kk 10.03.2010, 11:42:51
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 28.08.2025 - 20:12