Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML] Input submit z value jako obraz
kubax33
post 12.06.2014, 23:51:25
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
nospor
post 13.06.2014, 06:43:48
Post #2





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kubax33
post 13.06.2014, 10:59:31
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 13.06.2014, 11:01:34
Post #4





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




Pytam się po raz kolejny:
zrobiles
print_r($_POST);
?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kubax33
post 13.06.2014, 16:05:58
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 13.06.2014, 18:22:25
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 16.06.2014, 20:34:28
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2025 - 07:39