Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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
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?
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

tylko nie wiem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) jak sprawdzic przed wyslaniem formularza w JS czy jest ok czy podana data nie jest wieksza hehe jestem noga w JS (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) . Może jednak wystarczy sprawdzenie po stronie serwera? np. przez bazę danych, co jest dość proste.

Pozdrawiam.
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) napisalem sobie taki kodzik (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) cos jest nie tak (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

pomozcie prosze (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) dlaczego ten skrypt nie chce dzialac tak jak chce (IMG:http://forum.php.pl/style_emoticons/default/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;
//.....
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dziekuje nospor.

a jeszce jedno (IMG:http://forum.php.pl/style_emoticons/default/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; }

}
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale ze mnie leser co (IMG:http://forum.php.pl/style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 18:19