🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
11 messages
11 total messages Started by Chris Thu, 10 Jan 2002 10:45
Bardzo proszę o pomoc w zabezpieczeniu strony.
#345
Author: Chris
Date: Thu, 10 Jan 2002 10:45
61 lines
2873 bytes
Witam i pozdrawiam wszystkich.
Problem polega na tym, że skrypt sprawdza wartość w polu ( nie może ona być
krótsza niż 11 znaków oraz musi zawierać tylko cyfry ) Wszystko gra ale
jeśli zostaną wpisane jakieś znaki i wciśniesz ENTER, zdarzenie w JavaScript
nie działa. Funkcjonuje jedynie przy kliknięciu na przycisk. Jakie zdarzenia
działać będzie na klawisz ENTER .
Przedstawiam kod tej strony i jeszcze raz proszę o napisanie co tam
zchrzaniłem.
----------------------------------------------------------------------------
<HTML>
<HEAD>
<TITLE>Wyszukiwanie ubezpieczonych</TITLE>
<script language=javascript>
function control()
 {
 zmienna = document.main.nr_min.value;
 wer = zmienna*1;
 if(isNaN(wer))
              {
 alert('Uwaga ! Numer PESEL zawiera inne znaki niz cyfry.');
 return false;
 } else{
 if(zmienna.length != 11)
                          {
 alert('Uwaga! Numer PESEL ma nieodpowiednia dlugosc.');
 return false;
                   }
                       }
                           }
</script>
</HEAD>
<BODY >
<CENTER>
Problem polega na tym, że skrypt sprawdza wartość ( nie może ona być krótsza
niż 11 znaków oraz musi zawierać
tylko cyfry )
Wszystko gra ale jeśli  zostaną wpisane jakieś znaki i wciśniesz ENTER,
zdarzenie w JavaScript nie działa. Funkcjonuje jedynie przy  kliknięci na
przycisk.
Jakie zdarzenia działać będzie na klawisz ENTER
<FORM ACTION=pokaz.php method=post name=main>
<TABLE width="574" bordercolor="#0000FF">
<TR>
 <TH align="center" width="290" style="background-color: #C0C0C0"><font
size="2" color="#0000FF">Prosz&#281;
  wprowadzi&#263; numer </font></TH>
 <TD align="center" width="270" bgcolor="#C0C0C0">
  <p align="center"><INPUT TYPE="TEXT" MAXLENGTH="11" NAME="nr_min"
size="13"><INPUT TYPE=SUBMIT VALUE="Sprawd&#378"; onClick="javascript:return
control();">
  </p>
 </TD>
</TR>
</TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>
----------------------------------
Z góry dziękuję
Chris
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#346
Author: Misio
Date: Thu, 10 Jan 2002 20:21
9 lines
907 bytes
dopisz sobie cos takiego :

<script for="document" event="onkeydown">
if (event.keyCode == 13)
     control();
</script>


i powinno dzialac
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#347
Author: Zbigniew Braniecki
Date: Thu, 10 Jan 2002 20:56
9 lines
1045 bytes
> i powinno dzialac

W czym wedlog Ciebie powinno zadzialac?

pozdr.
Gandalf

--
Alladyn Team (http://alladyn.art.pl) proud member
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#348
Author: Misio
Date: Thu, 10 Jan 2002 21:19
4 lines
993 bytes
wedlog mnie w IE
Tak w ogole to wywalilbym tez return z   ...onClick="javascript:return
control();">
to by tez na przycisku dzialalo, ale pytanie bylo jak wyczaic Enter
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#349
Author: Zbigniew Braniecki
Date: Thu, 10 Jan 2002 21:42
12 lines
1252 bytes
> wedlog mnie w IE
> Tak w ogole to wywalilbym tez return z   ...onClick="javascript:return
> control();">
> to by tez na przycisku dzialalo, ale pytanie bylo jak wyczaic Enter

a po co for=document ?

pozdr.
Gandalf

--
Alladyn Team (http://alladyn.art.pl) proud member
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#350
Author: Misio
Date: Thu, 10 Jan 2002 22:00
3 lines
924 bytes
> a po co for=document ?

zeby zadzialalo
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#351
Author: Zbigniew Braniecki
Date: Thu, 10 Jan 2002 23:12
17 lines
1274 bytes
> zeby zadzialalo

A nie lepiej

document.onkeypress=ble;
function ble(e){
e=document.all?event:e;
if (e.keyCode == 13)control();
}

i zadziala wszedzie?

pozdr.
Gandalf

--
Alladyn Team (http://alladyn.art.pl) proud member
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#352
Author: Misio
Date: Fri, 11 Jan 2002 08:29
8 lines
1101 bytes
> document.onkeypress=ble;
> function ble(e){
> e=document.all?event:e;
> if (e.keyCode == 13)control();
> }

ale tak w NN tez nie dziala.
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#353
Author: TeNciN
Date: Fri, 11 Jan 2002 20:28
14 lines
1718 bytes
[ciach]

Czytam, czytam i oczom nie wierze... Nikt nie wpadl na najlatwiejsze
rozwiazanie. Wystarczy w <FORM> przechwycic probe wyslania:

onSubmit="funkcja_obslugi_submit(); return false;"

W funkcji "funkcja_obslugi_submit()" sprawdzasz poprawnosc danych, jesli sa
OK, to wysylasz wywolujac dla forma metode "submit()", jak nie to zwracasz
komunikat bledu. Z gory wyjasniam ze wywolanie "submit()" z wnetrza funkcji
"funkcja_obslugi_submit()" nie spowoduje powstania nieskonczonej petli.

Pozdro...:)
TeNciN
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#354
Author: Zbigniew Braniecki
Date: Fri, 11 Jan 2002 23:13
9 lines
1319 bytes
> onSubmit="funkcja_obslugi_submit(); return false;"

A jesli nie mam submita?

pozdr.
Gandalf

--
Alladyn Team (http://alladyn.art.pl) proud member
Re: Bardzo proszę o pomoc w zabezpieczeniu strony.
#355
Author: TeNciN
Date: Sat, 12 Jan 2002 23:00
21 lines
2277 bytes
> > onSubmit="funkcja_obslugi_submit(); return false;"
>
> A jesli nie mam submita?

Witam...

Nie rozumiem... Co to znaczy "nie mam submita"? Opisany problem wynikal z
tego, ze skrypt wywolywany byl na "onClick", nie przechwytywal wiec
nacisniecia klawisza "Enter". Po jakiego wiec diabla wylapywac nacisniecie
klawisza, skoro mozna sprawdzac probe wyslania? Program ewidentnie wysylal,
wiec submit musial byc. Jesli chcesz byc bardziej restrykcyjny i nie czekac
na submit, to przechwytuj kazda zmiane zawartosci elementu forma, ustawiajac
flage na true jesli zawartosc jest poprawna lub false w przeciwnym wypadku.
Inne akcje (takie jak np. submit :) ) uzaleznij od flagi. Efekt bedzie ten
sam, a skrypt przynajmniej bedzie mogl troche na siebie zapracowac :).
Uwazam ze w tym przypadku rozwiazanie z przechwyceniem submit jest
optymalne, nie twierdze jednak, ze jest uogolnionym sposobem rozwiazujacym
wszystkie problemy. Tym optymistycznym akcentem koncze.

Pozdro...:)
TeNciN
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads