Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Podmiana obrazków w polu imput, jak to zrobić?
pc5
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

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


Witam!

Mam takie pole :

  1. <input class="none" type="image" src="images/szukaj_sm.gif" ALT="szukaj" NAME="szukaj1" border=0>


Jest to po prostu obrazek lupki, po nacisnieciu ktorego rozpoczynamy wyszukiwanie, jest on czescia pewnego formularza. Czy da sie zrobic podmienianie obrazkow przy najechaniu kursorem na ten "obrazko-submit"? Próbowałem ale nic mi nie zadziałało.

Pozdrawiam - KM
Go to the top of the page
+Quote Post
mario
post
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


Rollover Submit Image

Najpierw skopiuj ten skrypt JAVA:

  1. <script TYPE="text/javascript">
  2. <!--
  3. // copyright 1999-2001 Idocs, Inc. http://www.idocs.com/tags/
  4. // Distribute this script freely, but keep this
  5. // notice with the code.
  6. var submitRolls = new Object();
  7.  
  8. function submitroll(src, oversrc, name)
  9. {
  10. this.src=src;
  11. this.oversrc=oversrc;
  12. this.name=name;
  13. this.alt="Submit Query";
  14. this.write=submitroll_write;
  15. }
  16.  
  17. function submitroll_write()
  18. {
  19. var thisform = 'document.forms[' + (document.forms.length - 1) + ']';
  20. submitRolls[this.name] = new Object();
  21. submitRolls[this.name].over = new Image();
  22. submitRolls[this.name].over.src = this.oversrc;
  23. submitRolls[this.name].out = new Image();
  24. submitRolls[this.name].out.src = this.src;
  25.  
  26. document.write
  27. (
  28. '<A onMouseOver="if (document.images)document.images['' + this.name + "'].src=submitRolls['" + this.name + ''].over.src"' +
  29. ' onMouseOut="if (document.images)document.images['' + this.name + "'].src=submitRolls['" + this.name + ''].out.src"' +
  30. ' HREF="javascript:'
  31. );
  32.  
  33. if (this.sendfield)
  34. {
  35. if (! this.sendvalue)
  36. this.sendvalue = 1;
  37. document.write(thisform, ".elements['", this.sendfield, "'].value='", this.sendvalue, "';");
  38. }
  39.  
  40. document.write(thisform + '.submit();void(0);"');
  41. if (this.msg)document.write(' onClick="return confirm('' , this.msg, '')"');
  42. document.write('>');
  43.  
  44. document.write('<IMG SRC="' + this.src + '" ALT="' + this.alt + '" BORDER=0 NAME="' + this.name + '"');
  45. if (this.height)document.write(' HEIGHT=' + this.height);
  46. if (this.width)document.write(' WIDTH=' + this.width);
  47. if (this.otheratts)document.write(' ' + this.otheratts);
  48. document.write('></A>');
  49. if (this.sendfield)
  50. {
  51. document.write('<INPUT TYPE=HIDDEN NAME="' + this.sendfield + '">');
  52. document.forms[document.forms.length - 1].elements[this.sendfield].value='';
  53. }
  54. }
  55.  
  56. //-->


i robisz formularz z tego:

  1. <FORM ACTION="../cgi-bin/mycgi.pl">
  2. email: <INPUT NAME="email">
  3.  
  4. <script TYPE="text/javascript">
  5. <!--
  6. var sr = new submitroll("submit.out.gif","submit.over.gif","mysubmit");
  7. sr.write();
  8. //-->
  9.  
  10. <INPUT TYPE=SUBMIT VALUE="Go!">
  11.  
  12. </FORM>
Go to the top of the page
+Quote Post
pc5
post
Post #3





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

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


Rzeczywiście to działa, ale jest jeden problem. W php nie mogę teraz sprawdzić czy naciśnięto przycisk szukaj, ponieważ nie jest on przekazywany do tablicy $_POST. Dla mnie akurat jest to duży problem. Może jakieś inne rozwiązanie?

Pozdrawiam - KM
Go to the top of the page
+Quote Post
mario
post
Post #4





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


więc zastosuj w formularzu
  1. <input type=hidden name=submit value=ok>
i dostaniesz w $_POST[submit] wartość która poinformuje Cię o przesłaniu formularza.
Go to the top of the page
+Quote Post
kubatron
post
Post #5





Grupa: Zarejestrowani
Postów: 581
Pomógł: 0
Dołączył: 21.07.2003
Skąd: Jasło

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


mario: nie wprowadzaj ludzi w błąd, ponieważ ten skrypt co podałeś to nie jest jak napisałeś "JAVA", tylko jest to skrypt "JAVASCRIPT" a to wielka różnica, pierwsze poczytać co to JAVA potem poczytaj co to JAVASCRIPT...

To taka uwaga...
Go to the top of the page
+Quote Post
pc5
post
Post #6





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

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


Cytat(mario @ 2005-05-08 09:44:16)
więc zastosuj w formularzu
  1. <input type=hidden name=submit value=ok>
i dostaniesz w $_POST[submit] wartość która poinformuje Cię o przesłaniu formularza.

A właśnie ze w tablicy $_POST jest wartość pola text które się wypełnia, ale nie ma żadnego info o przycisku szukaj, ani nawet współrzednych szukaj_x i szukaj_y, a to przecież obrazek submit. Tak więc jeżeli mam 4 takie obrazki, to nie jestem w stanie sprawdzić który został naciśnięty, ponieważ mam 4 submity w formularzu, każdy działa troszkę inaczej. Tak więc... lipa.

Próbowałem metodą CSS, działa pod FF, ale pod IE już nie. Makabraaa...
Go to the top of the page
+Quote Post
FiDO
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Po wstepnym obejrzeniu kodu moge stwierdzic, ze da sie cos takiego zrobic...
Kod
var sr = new submitroll("submit.out.gif","submit.over.gif","mysubmit");
sr.sendfield = 'nazwa_pola';
sr.write();


Nie sprawdzalem tego, ale z kodu wynika, ze powinno dzialac.
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: 22.08.2025 - 16:04