Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ograniczenia w input
timii
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 20.05.2006

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


witam.

chcialbym zrobic taka magiczna sztuczke, zeby w polu input, w ktorym ktos bedzie wpisywal date (RRRR-MM-DD) mial automatycznie ograniczenie daną wartością pobierana z bazy danych np. nie moze wpisac daty pozniejszej od 2006-08-21. (wazne jest to ze data jest pobierana z bazy MySql) czy jest na to jakis sposob ?

pozdrawiam,
Tomek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Napisz, czy chodzi o sprawdzanie w trakcie pisania - wtedy baaardzo skomplikowany JS, czy tez o sprawdzenie tego po wysłaniu formularza? Wtedy jest 1000+1 mozliwości.

Pozdrawiam.

ps. Aha. jaki to input? tzn jest jeden, czy są trzy - dla roku, misiąca, dnia?


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
php programmer
post
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Chyba nie jest to aż tak trdune.
Pobierasz date z MySQL w php do jakieś zmiennej np o nazwie $data.

Potem robisz:

  1. <?php
  2. echo '<scrypt>';
  3. echo ' var data ="'.$data.'" ';
  4. echo '</scrypt>';
  5. ?>


A potem sprawdzasz tylko w JavaScript przy akcji wysyłania formularza.
Tzn zanim jeszcze wyślesz to sprawdzasz.
Go to the top of the page
+Quote Post
timii
post
Post #4





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 20.05.2006

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


dobre rozwiazanie php programmer smile.gif

tylko nie wiem tongue.gif jak sprawdzic przed wyslaniem formularza w JS czy jest ok czy podana data nie jest wieksza hehe jestem noga w JS sad.gif najlepiej jakby wyskakiwal alert ze data jest za "pozna" od wymaganej.

ps. a czy sprawdzanie podczas pisania jest bardzo trudne ?

tak sobie obmyslam algorytm (ale tego sam nie napisze hehe). Jest data typu 2006-08-21 i wpisujac do input (jednego input) JS automatycznie sprawdza czy cyferka po cyferce sie zgadza. jak wpisany miesiac jet wiekszy od 08 to alert, jak dobrze wpisze to sprawdza czy dzien, jak wiekszy to alert. algorytm myslowy nie jest trudny tongue.gif tylko czy w praktyce sie tak da ?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Da się. Ilść kombinacji jest na tyle sensowna, że mozna sie pokusić o naipisanie, ale jest to dość monotonne laugh.gif . Może jednak wystarczy sprawdzenie po stronie serwera? np. przez bazę danych, co jest dość proste.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
php programmer
post
Post #6





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


To żaden problem w JavaScript porównac daty,
wystarczy użyć porównania stringów
(o ile jako pierwszy podajemy rok, potem miesiac, a potem dzień
a taka włąsnie kolejność jest zazwyczaj w bazie)

Kod
<script language="javascript" type="text/javascript">
var data1 = '2006-03-23';
var data2 = '2006-04-23';
if (data1<data2) alert('mniejsza'); else alert('wieksza')
</script>


Cytat
ps. a czy sprawdzanie podczas pisania jest bardzo trudne ?

Nie jest trudne, wykorzystujesz zdarzenie onChange
Ps. Pamiętaj żeby porównywać dopiero jak obydwa inputy będą
miały 10 znaków tzn będzie do końca wpisana data

Ten post edytował php programmer 21.08.2006, 13:40:44
Go to the top of the page
+Quote Post
timii
post
Post #7





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 20.05.2006

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


no dobra super smile.gif napisalem sobie taki kodzik smile.gif tylko nie krzyczcie bo jestem poczatkujacy hehe
no i mi nie dziala :/

  1. <script language="JavaScript" type="text/javascript">
  2.  
  3. function spr( )
  4. {
  5. var data1 = document.getElementById('dar');
  6. var data2 = '2006-08-23';
  7.  
  8.  
  9. if (data1<data2) { alert('mniejsza'); }
  10. else { alert('wieksza') }
  11.  
  12. }
  13.  
  14. <form action="ble4.php" method=post name=forma>
  15.  
  16. <input id=dar type="text" name=dar />
  17.  
  18. <input type="submit" value=wyslij onclick="return spr();" />
  19.  
  20. </form>


jak wpisuje mniejsza date to wyskakuje mi okienko ze wieksza biggrin.gif

co z tym poczac ?

Ten post edytował timii 21.08.2006, 13:44:42
Go to the top of the page
+Quote Post
php programmer
post
Post #8





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


zmień
Kod
if (data1<data2)

na
Kod
if (data1>data2)
Go to the top of the page
+Quote Post
timii
post
Post #9





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 20.05.2006

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


jak wpisuje wieksza albo mniejsza to dzieje sie to samo smile.gif cos jest nie tak sad.gif

pomozcie prosze sad.gif dlaczego ten skrypt nie chce dzialac tak jak chce sad.gif

Ten post edytował timii 21.08.2006, 21:45:05
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Kod
//....
var data1 = document.getElementById('dar').value;
//.....


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

"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
timii
post
Post #11





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 20.05.2006

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


super smile.gif dziekuje nospor.

a jeszce jedno tongue.gif hehe

Jak juz dobrze wpisze date to chce zeby wyslal mi formularz. Jak wpisze sobie return true; to nie wysyla formularza hm... ?
Go to the top of the page
+Quote Post
nospor
post
Post #12





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




Kod
function spr( )
{
var data1 = document.getElementById('dar').value;
var data2 = '2006-08-23';


if (data1<data2) { alert('mniejsza'); return true;}
else { alert('wieksza');return false; }

}


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

"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
timii
post
Post #13





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 20.05.2006

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


super przy takim krotkim kodzie to mi dziala ale jak wkleilem to tam gdzie chce to mi nie wysyla formularza a kod jest taki sam:

  1. <form action="ble4.php" method=post name=forma>
  2.  
  3. <script language="JavaScript" type="text/javascript">
  4. function spr()
  5. {
  6. var data1 = document.getElementById('dar').value;
  7. var data2 = '2006-08-23';
  8.  
  9. if (data1>data2) { alert('za duza data'); return false;}
  10. else {
  11. if(data1=='') { alert('nie wpisales daty '+data2); return false; }
  12. else { alert('mniejsza '+data2); return true; }
  13. }
  14.  
  15. }
  16.  
  17. <input id=dar maxlength=10 size=8 type="text" name=dar />



dluuugi dlugi kod...


  1. <input id=dar maxlength=10 size=8 type="text" name=dar />
  2. <input type="submit" value=wyslij onclick="return spr();" />
  3.  
  4. </form>


i nawet nie bziaknie tongue.gif

moze jakos to polaczyc z tym :

  1. java script:document.form1.submit()



ale jak zrobie tam ze w form wpisze name=form1 i w:

  1. <INPUT TYPE="button" value="publikuj" onclick="return spr(); java script:document.form1.submit()">


jak wytne z tego unputu return to nie dziala... yh...

to moj ostatni problem :/ nie krzyczcie bo sie nie znam na javie :/ dzialam tylko w php :/

dobra poradzielem sobie tongue.gif ale ze mnie leser co biggrin.gif hehe

Ten post edytował timii 22.08.2006, 14:03:10
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 Aktualny czas: 19.08.2025 - 05:31