![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
Witam
Zauważyłem że podczas uzywania formularzy wraz AJAX'a akcja z tego formularza ide do nowego pliku (np action="plik.php"). Na stronie mam plik index.php gdzie są nagłówki oraz początek kodu html i jego koniec. W treści strony includuje odpowiednie pliki. No i gdy robie akcje z formularza do odpowiedniego pliku to ten plik sprawdza warunek i wyświetla odpowiedz (0 lub 1). Ale jest też includowane to do reszty strony dlatego "obj.responseText" zawiera kod html i w treści tego odpowiedz na żądanie (0 lub 1). No i mam pytanie czy można to jakoś obejść, czy trzeba tworzyć specjalnie do tego nowe pliki :? |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%)
|
Ale o co chodzi?
-- edit -- atrybut action moze byc pusty lub wskazywac na plik w ktorym sie aktualnie znajduje - efekt jest ten sam. Ten post edytował bigZbig 31.05.2006, 13:48:42 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
to ja może to tak pokaże:
plik funkcje php:
No i wysłaniu formularza zwracany jest responseText gdzie jest cała strone html która wyżej wymieniłem, a w treści tej strony jest wygenerowany kod "0" lub "1" jeśli email jest poprawny. No i moje pytanie brzmi czy można to jakoś obejść czy trzeba robić akcje z formularza do nowego pustego pliku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 4 Dołączył: 22.04.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Nie zabardzo moge zrozumieć o co ci chodzi, ale dam odpowiedź do tego co zrozumiałem.
Co ci szkodzi zrobić 2 pliki? To zadużo klikania, czy na serwerze masz ograniczenie w ilości plików? Moim zdaniem najlepiej jak to rodzielisz na dwa pliki, że w funkcje.php np. sprawdzanie maila(lepiej jakbyś zrobił w js to sprawdzanie), i w drugim pliku nazwa.php kod html który chcesz includować. Jeżeli źle zrozumiałem problem to napisz jeszcze raz dokładniej o co ci chodzi. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 219 Pomógł: 10 Dołączył: 9.01.2005 Ostrzeżenie: (0%)
|
a może użycie XMLa pomoże w tym przypadku?
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
yaro właśnie o to mi chodziło. A jak za pomocą js sprawdzić poprawność email i wysłać go ?
|
|
|
|
Post
#7
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
A jak za pomocą js sprawdzić poprawność email i wysłać go ? 1. Masz bana na Googlu, czy jak? Google :: search :: email+validation+javascript 2. Nie da się wyslać maila z poziomu JavaScriptu. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%)
|
1. Jesli uzywasz ajaxa to poco w dolaczasz funkcje.php do pliku z formularzem? 2. Nawet jesli sprawdzisz emila js to i tak przydaloby sie sprawdzic ponownie po stronie serwera bo js mozna wylaczyc albo zwyczjnie usunac. Ten post edytował bigZbig 1.06.2006, 08:58:59 |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
1. Jesli uzywasz ajaxa to poco w dolaczasz funkcje.php do pliku z formularzem? Tam są funkcje php ... 2. Nawet jesli sprawdzisz emila js to i tak przydaloby sie sprawdzic ponownie po stronie serwera bo js mozna wylaczyc albo zwyczjnie usunac. Nie mam już przycisku submit tylko button onclick czyli jeśli jest js wyłączone to i tak nie wyśle formularza, chyba że sie postara (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ale to panel administracyjny więc nie trzeba raczej tego robic ... |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%)
|
Tam są funkcje php ... No ok ale te funkcje php waliduja email, a walidacja odbywa sie poprzez ajaxa, a poto dajesz w formularzu atrybut action aby wiadomo bylo gdzie tych funkcji szukac. Zauważ, że na stronie z formularzem te funkcje nie sa Ci do niczego potrzebne bo przeciez ich nigdzie nie wywloujesz. Nie mam już przycisku submit tylko button onclick czyli jeśli jest js wyłączone to i tak nie wyśle formularza, chyba że sie postara (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ale to panel administracyjny więc nie trzeba raczej tego robic ... Jak to panel administracyjny to pol biedy. Mozna by se w ogole darowac sprawdzanie emila. |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
Ostatnie pytanie żeby nie zaśmiecać.
Mam takie coś: No i nie używam input type="submit" tylko wysyłam formularz poprzez enter. Gdy formularz jest wysłany onsubmit wywołuje funkcje: Kod function send(fo) { advAJAX.submit($(fo), { onSuccess : function(obj) { div('search').style.display = 'none'; alert('Email zostal edytowany'); }, onLoading : function(obj) { $('search').style.display = 'block'; $('search').innerHTML = '<h2>Trwa edycja...</h2>'; }, onError : function(obj) { alert("Error"); } }); } Gdy trwa edytowanie wszystko jest ok wpisze TRWA EDYTOWANIE, ale gdy dojdzie do onSuccess to przenosi mnie na strone z akcji formularza (action="1.php?id=1"). Wiecie może dlaczego tak sie dzieje :? |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%)
|
dzieje się tak, gdyż po akcji z on submit, wykonywany jest dalej akcja formularza,
zmień onsubmit="send('fo')" na onsubmit="send('fo'); return false;" czyli: |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 18:22 |