![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 2 Dołączył: 20.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję rozwiązanie prostego teoretycznie zagadnienia:
W panelu użytkownika pojawia się lista: zwykłe zapytanie select, które generuje liste for ($i=0; $i <$ile_znalezionych; $i++) { echo '<div id = "list">'; <form action = .....> echo '</div>'; } W ramach tego form action jest przycisk który przekierowuje do pliku zmien.php Tylko mnie zależy na tym by nie było podstron. Czyli mam taką funkcję function zmien(){ $.get( "zmien.php", {nroferty:$("#nroferty").val()} ).done(function( data ) { $("#wyniki").html(data); }); i tu pojawia się problem. 1 Form action z formułą java script nie chodzi/ 2. Jak nie ma form action to "wychwytuje" tylko pierwsze id na stronie a dalszych już nie widzi (oczywiście wiem, że id powinno być tylko jedno). Tak więc wiem co nie chodzi - i szukam tego co chodzi. Pytanie: Jak zmodyfikować funkcję by wychwytywała różne id? albo Co ma być zamiast form action by to chodziło> Dzięki za podpowiedź |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 875 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
1. nie działa (popraw tytuł)
2. wrzucaj kod w tagi CODE lub PHP 3. coś takiego możesz zrobić nawet w jednym pliku PHP np. formularz.php, bez używania dodatkowych plików. Wystarczy zrobić sobie warunki które jeden służy do obsługi strony WWW, a drugi jeżeli otrzymuje zapytanie z formularza (.get lub .post) wyświetla dane wynikowe. 4. Nie rozumiem dlaczego robisz multiplikacje <form action = .....> czyli tyle ile jest rekordów w $lista tyle otwierasz formularzy. Może dlatego ci nie działa funkcja JS. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 2 Dołączył: 20.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście funkcja znajduje się w head pomiędzy znacznikami java
<head> <script type="text/javascript"> function zmien(){ $.get( "zmien.php", {nroferty:$("#nroferty").val()} ).done(function( data ) { $("#wyniki").html(data); }); </script> <head> <body> <?php //laczenie z baza requier laczene.php; //wyszukaj $zapytanie = select nr oferty from baza where zuytkownik = $uzytkownik; // z tego zapytania generuję listę wszystkich ofert $wynik = mysqli_query($mysql, $zapytanie); $ile = mysqli_num_rows($wynik); // listuje całość for ($i=0; $i <$ile; $i++) { echo '<form action = zmien.php method = "post">'; echo '<input type ="hidden" name = "nroferty" id ="nroferty" value = "'; echo stripslashes($wiersz['nroferty']); echo '"'; echo '<input type="submit" value="Szukaj" />'; echo '</form>'; } ?> </body> no i właśnie nie wiem czym zastąpić to form action by wyrzucało funkcję a nie kierowało do podstrony |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 2 Dołączył: 20.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Mnie chodzi o to by z pętli wywoływana była formuła zmien() pobierająca argument nroferty generowany przez pętle echo stripslashes($wiersz['nroferty']); - w zależności od tego "którą ofertę człowiek przyciśnie to z tym nr oferty.
<form action wywołuje mi cały plik (przeładowuje stronę) a mnie chodzi tylko o to by pomiędzy div id = "wyniki" pojawiła się konkretna oferta. mam krótkie pytanie Mam formularz, który kończy sie pytaniem Akceptujesz regulamin? Oczywiście tu są dwie opcje tak lub nie echo '<button class="dok" check="T">Akceptuję</button>'; echo '<button class="dok" check="N">Nie akceptuję</button>'; i samo to chodzi. Jednak jeżeli jest to częścią formularza: echo '<book>'; echo '<button class="dok" >'; echo '<input type="text" name = "zmienna1">'; echo '<input type="text" name ="zmienna2">'; echo 'dodaj</button>'; echo '</book>'; Już nie Jak sprawić by pobierał wszystkie dane funkcja jest taka: $('.dok').on('click', function () { checkid=$(this).attr("check"); zmienna1id=$(this).attr("zmienna1"); zmienna2id=$(this).attr("zmienna2"); $.ajax({ type : 'POST', url : 'poprawianie.php', data: 'checker='+checkid+'&zmiennapierwsza='+zmienna1id+'&zmiennadruga='+zmienna2id, success : function(data) { $('#wyniki').html(data); } }); }); Dzięki za podpowiedź |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Co ty tworzysz? Button to button, input to input. Dlaczego wewnatrz button są dwa inputy? Swoją drogą <input type=radio/> jest od takich rzeczy jak wybory.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 2 Dołączył: 20.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
echo '<button class="dok" check="N">Nie akceptuję</button>'; - samo chodzi.
input type = submit - nie przesyła mi zmiennych Oczywiści input type radio jest do opcji wyboru. usiłuję przesłać przesłać do funkcji parę zmiennych - część selectem, część inputem. form action jest dobre jak chce strone przeładować - ale tego chcę uniknąć. Więc jak do kn zrobić ten cholerny formularz - pomocy |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie console.log(this) bo w tym kontekście dotyczy .dok. Więc to nie button ma atrybut tylko inputy pod nim. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 2 Dołączył: 20.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie console.log(this) bo w tym kontekście dotyczy .dok. Więc to nie button ma atrybut tylko inputy pod nim. Możesz to trochę jaśniej wyjaśnić. Wg mnie problem tkwi bardziej po stronie html - jak przesłać dane do tej funkcji. (Jak z buttona odbiera to z inputa też powinna) echo '<input type="text" name="zmienna1">'; echo '<input type="text" name="zmienna2">'; echo '<input type="submit" value="dalej">'; Gdzie jest byk" |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 21:13 |