Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak zamknąć funkcje?
Forum PHP.pl > Forum > Przedszkole
franki1
Generalnie wiem, że robię jakiś pierdołowaty błąd ale nie mogę go zlokalizować
Skrypt wygląda tak
echo '<form action =" " method = "post">';
echo '<input type="hidden" name="rodzaj" id="rodzaj" value="1">';
echo '<input type="hidden" name="uzytkownik" id="uzytkownik" value="'.$uzytkownik.'">';
echo '</form>';
echo '<input type="submit" value="Wykonaj" onclick="wyszukaj();"></br>';

echo '<form action =" " method = "post">';
echo '<input type="hidden" name="rodzaj" id="rodzaj" value="2">';
echo '<input type="hidden" name="uzytkownik" id="uzytkownik" value="'.$uzytkownik.'">';
echo '</form>';
echo '<input type="submit" value="Wykonaj" onclick="wyszukaj();"></br>';

Chodzi o to, że jak nacisnę przycisk 1 to wykonuje mi funkcje z argumentem 1 a jak przycisk 2 to z argumentem 2
Niestety czy nacisnę przycisk 1 czy 2 to tykonuje mi zawsze z argumentem1 - jak to poprawić?
viking
A gdzie przekazujesz argument do funkcji?
franki1
echo '<input type="hidden" name="rodzaj" id="rodzaj" value="2">';


Każda z tych funkcji osobno działa jak powinna. Ale jak wstawię jedną pod drugą to przyjmuje tylko argument z pierwszej rodzaj value =1;

viking
To jest pole html input i nie ma żadnego związku z argumentem.
Pokaż ciało tej funkcji bo pewnie jest coś w stylu forms[0]
franki1
Viking - tak szczerze powiedziawszy to nie do końca rozumiem.

W nagłówku mam

function wyszukaj(){
$.get( "wyniki.php", {uzytkownik:$("#uzytkownik").val(), rodzaj:$("#rodzaj").val()} ).done(function( data ) {
$("#wyniki").html(data);
});
}

funkcja ta działa prawidłowo jak przesyłam "rodzaj" z formularza typu "select", ale chcę przyciski

tzn wówczas w "body" mam:
echo '<select name="rodzaj" id="rodzaj" type="text">';
echo '<option value="1">A</option>';
echo '<OPTION VALUE="2">B</OPTION>';
echo '<OPTION VALUE="3">C</OPTION>';
echo '</select>';

echo '<input type="hidden" name="uzytkownik" id="uzytkownik" value="'.$uzytkownik.'">';
echo '<input type="submit" value="Wykonaj" onclick="wyszukaj();"></br>';



Przy powyższej konstrukcji działa jak powinno

Ja jednak chcę przyciski
No i daję w body:

echo '<form action =" " method = "post">';
echo '<input type="hidden" name="rodzaj" id="rodzaj" value="1">';
echo '<input type="hidden" name="uzytkownik" id="uzytkownik" value="'.$uzytkownik.'">';
echo '</form>';
echo '<input type="submit" value="Wykonaj" onclick="wyszukaj();"></br>';

Przy jednym przycisku - mam jeden argument i działa prawidłowo.
Tylko, że ja mam w select 3 rózne argumenty 1, 2, 3
Jeżeli przekopiuję funkcje.

echo '<form action =" " method = "post">';
echo '<input type="hidden" name="rodzaj" id="rodzaj" value="2">';
echo '<input type="hidden" name="uzytkownik" id="uzytkownik" value="'.$uzytkownik.'">';
echo '</form>';
echo '<input type="submit" value="Wykonaj" onclick="wyszukaj();"></br>';

Zmieniając tylko wartość argumentu na "2"
To w "Body" mam dwa razy tą samą funkcję, i różnią się one tylko tym, że w jednej przy "rodzaj" value =1 a przy drugiej value =2.
Niestety za każym razem wykonuje mi tą funkcję z argumentem 1. Szukam odpowiedzi na pytanie jak te dwie funkcje rozdzielić by wykonując tą samą funkcję po naciśnięciu przycisku 1 wykonywał ją z wartością 1 a przy przycisku 2 z wartością 2.

Błąd mój pewnie jest pierdołowaty ale ja go znaleźć nie mogę

Tomplus
Powiedz mi dlaczego masz każdy <input type="submit"> po za formularzem <form>?

Wystarczy wsadzić między tagi <form> </form> i powinno działać.

Albo wskazać konkretną wartość z input, bo w tej chwili zawsze wartość po kliknięciu będzie rodzaj=2
viking
Identyfikator na stronie może być tylko jeden. Jak nazwa wskazuje, id ma identyfikować jednoznacznie element i być unikalne.
franki1
Niestety jak dam <input type = "submit"> przed </form> to mieli funkcje ale nic nie wynika - tzn wówczas funkcja w ogóle nie działa. Chodź popatrzyłem na funkcje na innych podstronach i submit" jest wewnątrz, ale tam nie ma javy.
Co do uwagi Vikinga to zgadzam się w 100%, tylko nie wiem jak to obejść, po wywaleniu "id" z samym name nie chodzi. (nie przesyła danej) tak więc nie mam pomysłu.



Albo wskazać konkretną wartość z input, bo w tej chwili zawsze wartość po kliknięciu będzie rodzaj=2 - możesz sprecyzować - przy submit value mam wykonaj. Nie wiem jak w jeden "input" wstawić dwie zmienne.
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.