eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www › HTML - jak to zrobić?
Ilość wypowiedzi w tym wątku: 28

  • 1. Data: 2011-06-16 13:02:02
    Temat: HTML - jak to zrobić?
    Od: Marek <b...@e...com>

    Witam,

    W CMS mam formatkę formularza, która może pojawiać się pod różnymi adresami
    URL. W kodzie HTML mam:

    <form action="" ....

    Submitowanie formularza różnymi przyciskami powoduje, że JS dopisuje do
    action ?mode=costam No i powstał problem w nowych przeglądarkach. Kiedyś
    form action="?mode=costam" pozostawiało pod danym URL i uzupełniało po
    przeładowaniu URL o zmienną GET "mode". Obecnie ta sama akcja powoduje
    przekierowanie do strony głównej serwisu. Czy jest jakiś zapis
    umożliwiający pod bieżącym URL? Czyli:

    <form action="currentURL"

    Czy muszę badać poprzez JS jaki URL jest aktualnie w użyciu i kopiować go
    do action?


  • 2. Data: 2011-06-16 14:19:27
    Temat: Re: HTML - jak to zrobić?
    Od: Marek <b...@e...com>

    P.S.

    Pomyślałem sobie, że prawdopodobnie nie da się tego osiągnąć w HTML więc
    pomysłem jest PHP, które może wstawić nazwę pliku do action. Czy jest jakaś
    funkcja w PHP, która pozwala wyodrębnić nazwę pliku z URL? Okazuje się, że
    basename() tego nie robi.

    np. basename($_SERVER['REQUEST_URI']); zwraca coś takiego:

    plik.php?par1=123&par2=567

    zamiast

    plik.php

    Sądziłem, że to zadanie jest trywialne ale chyba jednak trzeba całą funkcję
    napisać do pozyskiwania nazwy pliku.


  • 3. Data: 2011-06-16 14:28:12
    Temat: Re: HTML - jak to zrobić?
    Od: Marcin Miczek <m...@N...miczek.pl>

    W dniu 2011-06-16 15:02, Marek pisze:
    > W CMS mam formatkę formularza, która może pojawiać się pod różnymi adresami
    > URL. W kodzie HTML mam:
    > <form action="" ....
    > Submitowanie formularza różnymi przyciskami powoduje, że JS dopisuje do
    > action ?mode=costam No i powstał problem w nowych przeglądarkach. Kiedyś
    > form action="?mode=costam" pozostawiało pod danym URL i uzupełniało po
    > przeładowaniu URL o zmienną GET "mode". Obecnie ta sama akcja powoduje
    > przekierowanie do strony głównej serwisu. Czy jest jakiś zapis
    > umożliwiający pod bieżącym URL? Czyli:
    > <form action="currentURL"
    A ustawienie <form action="./" ... nie pomaga? Jeśli masz URL-e typu
    xyz/abc/index.html powinno IMO działać. W przeciwnym wypadku możesz
    wyłuskać currentURL w PHP albo JS.

    Pozdrawiam
    --
    Marcin Miczek


  • 4. Data: 2011-06-16 14:36:46
    Temat: Re: HTML - jak to zrobić?
    Od: Marcin Miczek <m...@N...miczek.pl>

    W dniu 2011-06-16 16:19, Marek pisze:
    > Pomyślałem sobie, że prawdopodobnie nie da się tego osiągnąć w HTML
    > więc pomysłem jest PHP, które może wstawić nazwę pliku do action. Czy
    > jest jakaś funkcja w PHP, która pozwala wyodrębnić nazwę pliku z URL?
    > Okazuje się, że basename() tego nie robi.
    Spróbuj http://pl.php.net/manual/pl/function.parse-url.php
    --
    Marcin Miczek


  • 5. Data: 2011-06-16 14:53:39
    Temat: Re: HTML - jak to zrobić?
    Od: Borys Pogoreło <b...@p...edu.leszno>

    Dnia Thu, 16 Jun 2011 15:02:02 +0200, Marek napisał(a):

    > Czy muszę badać poprzez JS jaki URL jest aktualnie w użyciu i kopiować go
    > do action?

    Nie ma określonego zachowania dla action nie będącego poprawnym URI. Ale w
    praktyce usunięcie tego atrybutu powoduje wysłanie formularza pod ten sam
    adres. Oczywiście nie zalecam ;-)

    --
    Borys Pogoreło
    borys(#)leszno,edu,pl


  • 6. Data: 2011-06-16 16:26:12
    Temat: Re: HTML - jak to zrobić?
    Od: Marek <b...@e...com>

    Dnia Thu, 16 Jun 2011 16:36:46 +0200, Marcin Miczek napisał(a):

    > Spróbuj http://pl.php.net/manual/pl/function.parse-url.php

    Próbowałem.

    Obecnie radzę sobie tak:

    $tmp=basename($_SERVER['REQUEST_URI']);
    $tmp=explode("?",$tmp);
    $tmp=$tmp[0];

    Jednakże kwestia wydaje mi się tak trywialna, że z niedowierzaniem traktuję
    niemożność załatwienia tego w 1 wierszu.


  • 7. Data: 2011-06-16 16:28:54
    Temat: Re: HTML - jak to zrobić?
    Od: Marek <b...@e...com>

    Dnia Thu, 16 Jun 2011 16:28:12 +0200, Marcin Miczek napisał(a):


    > A ustawienie <form action="./" ... nie pomaga? Jeśli masz URL-e typu
    > xyz/abc/index.html powinno IMO działać. W przeciwnym wypadku możesz
    > wyłuskać currentURL w PHP albo JS.

    Załóżmy, że index.php jest plikiem startowym oraz, że jestemy w danym
    momencie na stronie costam.php

    Czy:

    <form action="./?par=123"

    nie jest tożsame z:

    <form action="index.php?par=123"

    ?


  • 8. Data: 2011-06-16 16:30:27
    Temat: Re: HTML - jak to zrobić?
    Od: Marek <b...@e...com>

    Dnia Thu, 16 Jun 2011 16:53:39 +0200, Borys Pogoreło napisał(a):

    > Nie ma określonego zachowania dla action nie będącego poprawnym URI.

    Tak, to prawda. Kiedyś jednak przeglądarki czyniły go poprawnym w tle.

    > Ale w
    > praktyce usunięcie tego atrybutu powoduje wysłanie formularza pod ten sam
    > adres. Oczywiście nie zalecam ;-)

    Sęk w tym, że jest on mi potrzebny do zdefiniowania zmiennych GET i
    wysłania ich.


  • 9. Data: 2011-06-16 20:47:47
    Temat: Re: HTML - jak to zrobić?
    Od: Borys Pogoreło <b...@p...edu.leszno>

    Dnia Thu, 16 Jun 2011 18:30:27 +0200, Marek napisał(a):

    > Sęk w tym, że jest on mi potrzebny do zdefiniowania zmiennych GET i
    > wysłania ich.

    Jeśli pominiesz action, to zostanie użyty aktualny URI z dołączonymi
    parametrami GET.

    --
    Borys Pogoreło
    borys(#)leszno,edu,pl


  • 10. Data: 2011-06-17 08:27:17
    Temat: Re: HTML - jak to zrobić?
    Od: Marek <b...@e...com>

    Dnia Thu, 16 Jun 2011 22:47:47 +0200, Borys Pogoreło napisał(a):

    > Dnia Thu, 16 Jun 2011 18:30:27 +0200, Marek napisał(a):
    >
    >> Sęk w tym, że jest on mi potrzebny do zdefiniowania zmiennych GET i
    >> wysłania ich.
    >
    > Jeśli pominiesz action, to zostanie użyty aktualny URI z dołączonymi
    > parametrami GET.

    Nawet jeśli wypełnię ten pominięty atrybut z poziomu JS poprzez string typu
    "?par=123" to w ten sposób sie on zachowa również?

    Pytam bardziej z ciekawości. Chciałbym wybrać rozwiązanie sprawdzające się
    również w przyszłości. Poprzednie również działąło do niedawna lecz po 2
    latach musiałem grzebać w starym projekcie i naprawiać to.

strony : [ 1 ] . 2 . 3


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: