Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]stala wartosc pola tekstowego
tog
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


witam,

jak moge zrobic cos takiego:

user wchodzi na strone gdzie jest pole na maila
w polu od razu jest wartosc '@gmail.com', user wpisuje aby login
ale...
gdy user kliknie na pole to klawiatura zostaje ustawiona na poczatek, czyli tam gdzie ma sie znajdowac login i nie mozna skasowac podstawowej wartosci, czyli '@gmail.com'
Go to the top of the page
+Quote Post
Armstrong
post
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 40
Dołączył: 26.08.2009
Skąd: Kobiernice

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


http://www.kurshtml.boo.pl/html/input,html.html
Go to the top of the page
+Quote Post
tog
post
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


nadal nie wiem jak to zrobic
Go to the top of the page
+Quote Post
Pawel_W
post
Post #4





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


najprościej byłoby podpiąć funkcje pod onkeyup w inpucie, a w funkcji sprawdzać czy wartość zawiera @gmail.com, jeżeli nie to dokleić, jeżeli tak to zostawić (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
230005
post
Post #5





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Można tak jak mówią przedmówcy, albo tak:

  1.  
  2. <input type="text" id="mail" name="mail" /><label for="mail">@gmail.com</label>
  3.  


Wtedy część maila na której ci zależy będzie nie do skasowania (IMG:style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post
vokiel
post
Post #6





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Tylko po co takie podchody. Skoro użytkownik nie może zmienić, usunąć tego @gmail.com, to możesz to podać na stałe zwykłym tekstem za inputem. Tak że będziesz miał:
Kod
+----------+
|          |@gmail.com
+----------+
Go to the top of the page
+Quote Post
Pawel_W
post
Post #7





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


Cytat(vokiel @ 1.01.2010, 18:33:43 ) *
Tylko po co takie podchody. Skoro użytkownik nie może zmienić, usunąć tego @gmail.com, to możesz to podać na stałe zwykłym tekstem za inputem. Tak że będziesz miał:
Kod
+----------+
|          |@gmail.com
+----------+

+ można wrzucić to @gmail.com w diva i ustawić mu style takie jak ma input (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tog
post
Post #8





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


zeby ladnei wygladalo (IMG:style_emoticons/default/winksmiley.jpg)

nie da sie tego zrobic w input ?
mozna byloby pokombinowac z szerokosciami diva za inputem i inputu
tak aby razem towrzyly np. 200px;
ale szerokosc inputu byla zalezna od ilosci tekstu ktora sie w nim znajduje
tak aby napis @gmail.com podazal za tekstem w polu
czy da sie prosciej ?
Go to the top of the page
+Quote Post
antyqjon
post
Post #9





Grupa: Zarejestrowani
Postów: 77
Pomógł: 27
Dołączył: 24.03.2002
Skąd: Tarnów

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


Cytat(tog @ 1.01.2010, 19:10:37 ) *
czy da sie prosciej ?

Metodą leniwego designera - wyrównać treść inputa do prawej (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Crozin
post
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Do zdarzenia focus dla tego inputa podpinasz funkcję ustawiającą kursor na początku... a taką funkcję powinieneś znaleźć tutaj: http://www.google.pl/search?hl=pl&lr=&...ion&spell=1
Go to the top of the page
+Quote Post
230005
post
Post #11





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


@vokiel - to właśnie napisałem nad twoim postem (IMG:style_emoticons/default/smile.gif)

@tog - jeśli chcesz koniecznie, żeby gmail był w polu input, to np. zapamiętujesz to w zmiennej, a przy onKeyDown dajesz "obecna wartość" + zmienna - przy każdym naciśnięciu klawisza będziesz jednak musiał odczytywać wartość i jeśli jest w niej @gmail.com, to bez dodawania kolejny raz. To rozwiązanie ma jednak wady, bo przecież zawsze ktoś może ustawić kursor za gmail.com (złośnicy (IMG:style_emoticons/default/smile.gif) ) - w takim wypadku proponowałbym to co zdanie wcześniej, ale z wycinaniem @gmail.com z ciągu i dodawaniem go na końcu. Do tego wszystkiego jeszcze procedura onChange - w niej sprawdzasz, czy żądany tekst jest w polu, jeśli nie to go dodajesz. Trzeba też sprawdzić, czy ktoś sobie tam nie wpisał np @wp.pl i w razie konieczności usunąć. Tylko po co takie kombinacje, skoro możesz zrobić tak jak parę postów wyżej napisałem i tylko ładnie to ostylować (IMG:style_emoticons/default/biggrin.gif) ?
Go to the top of the page
+Quote Post
tog
post
Post #12





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


szczerze mowiac to nawet nie robie teraz takiego formularza
tylko przyszedl mi go glowy pomysl na takie efektowne pole i postanowilem je wykonac (IMG:style_emoticons/default/biggrin.gif) (w planach mam jeszcze wysiwyg)
rozwiazaniem co prawda jest to co pisalem wczesniej
ale to duzo kombinowania i nie wiem na ile byloby to plynne
dodanie @gmail.com na koncu nei stanowi problemu, natomiast zablokowanie kasacji tej frazy juz tak
Go to the top of the page
+Quote Post
darko
post
Post #13





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Cytat
dodanie @gmail.com na koncu nei stanowi problemu, natomiast zablokowanie kasacji tej frazy juz tak

Może coś takiego (z palca bez sprawdzenia): Sprawdzone, ale nie działa jak trzeba
  1. <input id="email" value="@gmail.com" onkeydown="preventFromGmailDeletion()" />
  2. function preventFromGmailDeletion() {
  3. var d = document.getElementById('email');
  4. if (d.value.indexOf("@gmail.com") < 0) {
  5. d.value = d.value + '@gmail.com';
  6. }
  7. }


Ten post edytował darko 2.01.2010, 03:25:35
Go to the top of the page
+Quote Post
tog
post
Post #14





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


to chyba nie to, ale zaraz sprawdze jak dziala kod
moze zle go przeczytalem
PS: to na pewno nie to (IMG:style_emoticons/default/tongue.gif)

hm... a moze gdybym robil sprawdzenie czy w polu jest @gmail.com po kazdej akcji klawiatury w polu input
co prawda user moglby skasowac zawartosc, ale zaraz byloby to poprawiane... mniej efektowne, ale sprobuje

Ten post edytował tog 2.01.2010, 03:23:32
Go to the top of the page
+Quote Post
darko
post
Post #15





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Cytat(tog @ 2.01.2010, 03:22:28 ) *
to chyba nie to, ale zaraz sprawdze jak dziala kod
moze zle go przeczytalem
PS: to na pewno nie to (IMG:style_emoticons/default/tongue.gif)

hm... a moze gdybym robil sprawdzenie czy w polu jest @gmail.com po kazdej akcji klawiatury w polu input
co prawda user moglby skasowac zawartosc, ale zaraz byloby to poprawiane... mniej efektowne, ale sprobuje

To powyżej miało dokładnie tak działać, niestety działa nieco inaczej
Go to the top of the page
+Quote Post
tog
post
Post #16





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


ustawiles onkeydown, takze nei moglo tak dzialac (IMG:style_emoticons/default/tongue.gif)

nie wazne
onkeydown jednak dziala inaczej niz mi sie wydawalo

  1.  
  2. <input type="text" name="mail" id="mail" onkeydown="ValidateMailForGmail()">
  3.  
  4.  
  5. function ValidateMailForGmail()
  6. {
  7.  
  8. var mail
  9. mail = document.getElementById('mail').value
  10. if(!mail.search('@gmail.com'))
  11. {
  12. mail.replace('@'.*?, '')
  13. mail = mail.'@gmail.com'
  14. document.getElementById('mail').value = mail
  15. }
  16.  
  17. }
  18.  
  19.  


podejrzewam, ze nei dziala i narobilem mase bledow
ale ide spac ;]

jednak sprawdzialem (IMG:style_emoticons/default/biggrin.gif)
nie dziala, ale to juz nie dzisiaj

w kazdym razie moze teraz udalo mi sie naswietlic problem (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował tog 2.01.2010, 03:48:54
Go to the top of the page
+Quote Post
230005
post
Post #17





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Cytat
dodanie @gmail.com na koncu nei stanowi problemu, natomiast zablokowanie kasacji tej frazy juz tak


Czy przeczytałeś uważnie mój post? Bo jest tam opisany sposób jak to zrobić.
Go to the top of the page
+Quote Post
Pawel_W
post
Post #18





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


jak chcecie to zrobić, to raczej podepnijcie pod onkeyup a nie onkeydown (IMG:style_emoticons/default/winksmiley.jpg)

i tak btw to przydałoby się zabezpieczyć, bo np. mamy kod

email@gmail.com

ktoś usunie np. "."

będzie

email@gmailcom

i skrypt to zamieni na

email@gmailcom@gmail.com

(IMG:style_emoticons/default/winksmiley.jpg)

EDIT:
najprościej chyba będzie tak:
  1. function validate(t)
  2. {
  3. s = t.indexOf('@');
  4. if(s>-1)
  5. t = t.substring(0, s);
  6.  
  7. return t+'@gmail.com';
  8. }

  1. <input onkeyup="this.value = validate(this.value)" />


tylko że znowu nie zadziała jak ktoś usunie @ z inputa (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował Pawel_W 2.01.2010, 12:32:41
Go to the top of the page
+Quote Post
tog
post
Post #19





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


230005, sory, ale jeszcze poleglem na zdarzeniach

no ok, moze nie tak efektownie jak mialo byc
ale lepiej sie chyab nei da

teraz tylko znalezc zastosowanie w jakims formularzu i cieszyc sie fajnym efektem (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
--Darek--
post
Post #20





Goście







a może po prostu tak?

  1. <input type="text" id="data" readonly>
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 - 23:20