Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML] Input submit z value jako obraz
kubax33
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


Mam problem z przesłaniem danych przez submit z grafiką.

  1. <form method="post" action="strona.php">';
  2. <input type="image" src="obraz.png" alt="jakis tekst" name="wyslij" value="1">
  3. <input type="image" src="obraz1.png" alt="jakis tekst" name="wyslij" value="2">
  4. <input type="image" src="obraz2.png" alt="jakis tekst" name="wyslij" value="3">
  5. </form>


Po kliknięciu w obrazek następuje przekierowanie do kolejnej strony metodą POST i niestety nie działa ta metoda we wszystkich przeglądarkach. Na chromie ok na firefox przeładuje stronę, ale nie wysyła danych więc na pozostałych będzie też problem.

Wiem, że idzie zastosować CSS, aby był obraz submit-a jednak w moim przypadku konieczne jest, aby submit miał określoną wartość VALUE ponieważ nie chcę korzystać z przesyłu metodą GET, a formularz, który będzie składał się z kilku etapów będzie wykorzystywał SESJE.

Widziałem również gdzieś rozwiązanie z CSS i submita jako obraz, aby ukryć VALUE ustawia się wielkość czcionki na 0.1px ale to dla mnie trochę dziwne i chyba starocie.

Nie chcę korzystać z ukrytych pól HIDDEN bo wtedy musiałbym dla każdego obrazka submita dawać osobny <form>

Jak to zrobić w sposób należyty? jest wiele informacji w internecie, ale każde wykorzystanie ma jakieś minusy. Chcę, aby każda przeglądarka interpretowała tak samo wysłanie submita z wartością VALUE mającego odrębny obraz.



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A poczym stwierdzasz ze nie wysyła danych? Robiles tak banalne sprawdzenie jak
print_r($_POST);
?
Bo zakladam, ze wiesz, iz pola IMAGE nie idą postem jako NAME
Go to the top of the page
+Quote Post
kubax33
post
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


Cytat(nospor @ 13.06.2014, 07:43:48 ) *
A poczym stwierdzasz ze nie wysyła danych? Robiles tak banalne sprawdzenie jak
print_r($_POST);
?
Bo zakladam, ze wiesz, iz pola IMAGE nie idą postem jako NAME



Nie wysyła danych we wszystkich przeglądarkach. Chcę aby submit miał VALUE ale nie był on widoczny. Mecze sie od wczoraj i na nic poczciwego nie wpadlem
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pytam się po raz kolejny:
zrobiles
print_r($_POST);
?
Go to the top of the page
+Quote Post
kubax33
post
Post #5





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


CHROME:
Array ( [wyslij_x] => 55 [wyslij_y] => 35 [wyslij] => 1 ) 

i tutaj jest ok a w innych przeglądarkach po kliknięciu w button obrazka przeładowuje stronę na której się znajduje strona.php nie wykonuje żadnej akcji.
Go to the top of the page
+Quote Post
tzm
post
Post #6





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


  1. <?php
  2.  
  3. echo $_POST['tekst'];
  4.  
  5. ?>
  6. <form action="self.php" method="post">
  7. <input type="submit" name="tekst" value="1" style="color:transparent;"/>
  8. <input type="submit" name="tekst" value="2" style="color:transparent;"/>
  9. <input type="submit" name="tekst" value="3" style="color:transparent;"/>
  10. </form>


Ogólnie ratuję Cie color:transparent ale nie wiem jak działa w różnych przeglądarkach. Pewnie IE wywali value na obrazku ale poza tą przeglądarką powinno być spoko.

Ten post edytował mitorski 13.06.2014, 18:36:36
Go to the top of the page
+Quote Post
kubax33
post
Post #7





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


Rozwiązanie mojego problemu pewnie komuś się kiedyś przyda:

http://xplus3.net/2009/12/10/images-for-fo...tons-using-css/

  1. <form action="" method="post">
  2. <div class="form-submit">
  3. <input type="submit" name="submit" value="Submit" />
  4. </div>
  5. </form>


  1. form .form-submit input {
  2. display: block;
  3. width: 101px;
  4. height: 39px;
  5. background-color: transparent;
  6. background-image: url(submit.png);
  7. background-repeat: no-repeat;
  8. background-position: 0 0;
  9. padding: 0;
  10. margin: 0;
  11. border: none;
  12. cursor: pointer;
  13. text-indent: -9000px;
  14. }



IE
  1. text-indent: 0;
  2. padding: 39px 0 0 0;
  3. height: 0;
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: 16.09.2025 - 08:21