Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> obj.responseText i całe strony
Apo
post
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 :?
Go to the top of the page
+Quote Post
bigZbig
post
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
Go to the top of the page
+Quote Post
Apo
post
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:

  1. <html>
  2. <head>
  3. // naglowki
  4. </head>
  5. <body>
  6. <?php
  7. require_once("funkcje.php");
  8. ?>
  9. <form action="funkcje.php?email" id="formularz">
  10. // inputy
  11. </form>
  12. </body>
  13. </html>


plik funkcje php:
  1. <?php
  2. if($_GET['email'])
  3.  {
  4.  if(preg_match('#^[wS]+@[wS]+.[wS]{2,4}$#', $_POST['email']))
  5. {
  6. echo 1;
  7. }
  8. else echo 0;
  9.  }
  10. elseif( // itd
  11. ?>


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)
Go to the top of the page
+Quote Post
yaro
post
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.
Go to the top of the page
+Quote Post
wolguy
post
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?
Go to the top of the page
+Quote Post
Apo
post
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 ?
Go to the top of the page
+Quote Post
mike
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Apo @ 31.05.2006, 19:08 ) *
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.
Go to the top of the page
+Quote Post
bigZbig
post
Post #8





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Cytat(Apo @ 31.05.2006, 15:05 ) *
  1. <html>
  2. <head>
  3. // naglowki
  4. </head>
  5. <body>
  6. <?php
  7. require_once("funkcje.php");
  8. ?>
  9. <form action="funkcje.php?email" id="formularz">
  10. // inputy
  11. </form>
  12. </body>
  13. </html>


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
Go to the top of the page
+Quote Post
Apo
post
Post #9





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Cytat(bigZbig @ 1.06.2006, 07:58 ) *
1. Jesli uzywasz ajaxa to poco w dolaczasz funkcje.php do pliku z formularzem?

Tam są funkcje php ...

Cytat(bigZbig @ 1.06.2006, 07:58 ) *
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 ...
Go to the top of the page
+Quote Post
bigZbig
post
Post #10





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Cytat(Apo @ 1.06.2006, 14:46 ) *
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.

Cytat(Apo @ 1.06.2006, 14:46 ) *
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.
Go to the top of the page
+Quote Post
Apo
post
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ś:
  1. <form id="fo" onsubmit="send('fo')" action="1.php?id=1" method="post"><input class="sub" type="text" name="email" value="marekrac@op.pl"></form>

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 :?
Go to the top of the page
+Quote Post
anopak
post
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:
  1. <form id="fo" onsubmit="send('fo'); return false;" action="1.php?id=1" method="post"><input class="sub" type="text" name="email" value="marekrac@op.pl"></form>
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: 20.12.2025 - 18:22