Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JAVA]Jak zrobić pole tekstowe, z hasłami?
Forum PHP.pl > Forum > Przedszkole
Michalo1994
Mam pyt, jak zrobic pole tekstowe, aby po wpisaniu jakiegos danego slowa np"Dom, wyswietlal sie napis"tak, to dom", ale zeby do tego pola pasowaly tez inne hasla, np ktos wpisze rower - "tak to rower", miasto, "tak to miasto". Z góry dziekuje
kamil4u
Java czy JavaScript? To zasadnicza różnica smile.gif - opiszę JS:
Kod
<input type="text" value="" onKeyDown="document.getElementById('cos').innerHTML = 'Tak to '+this.value;">
<span id="cos"></span>

//lub

<input type="text" value="" onBlur="alert('Tak to '+this.value);">


Jak nie trafiłem to opisz dokładniej smile.gif
erix
Cytat
ale zeby do tego pola pasowaly tez inne hasla, np ktos wpisze rower - "tak to rower", miasto, "tak to miasto"

Możesz spróbować pobawić się konstrukcją:
Kod
if(wartosc.indexOf('dom')>-1){
    // dom/tak, to dom, etc.
}


Ale ten kod ma wadę, bo możesz wpisać modmodmodomodomomomdom i też uzna za poprawną. Ostatecznie wyrzuć słowa tak/nie/to, filtruj znaki i sprawdzaj całość.
Michalo1994
Kod
<script type="text/javascript"> function sprawdz(formularz) 


if(formularz.haslo.value != 'drzewo') 

alert('nie, try again'); 
return false; //nie wysle formularza 

else 

alert('Tak to drzewo'); 
return true; //wysle 


</script> 

<form action="" method="get" onsubmit="return sprawdz(this);">
<input type="text" name="haslo"/>

<input type="submit" />
</form>



Zrobiłem takie cos - jak wpisuje dzewo to pisze "tak to drzewo", a jak cos innego to "ty again", jak dodac tam jeszcze inne możliwe hasła?questionmark.gif
erix
Tablica z odpowiedziami + pętla.
Michalo1994
Mógłbys mi napisac jak to bedzie wygladalo, bo sobie nie poradzilem;) Bede wdzieczny;)
erix
https://developer.mozilla.org/En/Core_JavaS...l_Objects/Array

Cytat
bo sobie nie poradzilem;)

Pokaż, jak sobie nie poradziłeś, co kombinowałeś.
Michalo1994
nie kombinowalem, bo wogole tego nie skapowalem;( Jak cos zrobilem to nic sie nie otwierało, nie mozecie napisac jak to ma wygladac?questionmark.gif
erix
Nie możemy. Przynajmniej ja nie mogę. Wysil się trochę i sam pokombinuj. Nie na darmo się produkuję, żeby pod nos Ci podsunąć prawie gotowe materiały. Uszanuj czas innych.
Spawnm
@erix-> zobacz temat który zamknąłeś temu userowi ;]
problem przeniósł tutaj i znowu żebra o ten sam kod tongue.gif

@Michalo1994-> byś wziął kurs gdy problem się pojawił to byś już sam napisał a i wiedzę byś nabył.
erix
Faktycznie. winksmiley.jpg

Jeszcze niech będzie otwarty, a nuż się wysili i coś sam wykombinuje. A po to jest opcja raportuj, aby z niej korzystać. winksmiley.jpg

Koniec offtopa, następne marudzenie o gotowca będzie skutkowało zamknięciem tematu i warnem.
Michalo1994
Kod
<script type="text/javascript"> 
function sprawdz(formularz) 


if(formularz.haslo.value != 'drzewo',  ) 

alert('nie, try again'); 
return false; //nie wysle formularza 

else 

alert('Tak to drzewo'); 
return true; //wysle 



if(formularz.haslo.value !=  'dom' ) 

alert('nie, try again'); 
return false; //nie wysle formularza 

else 

alert('Tak to dom'); 
return true; //wysle } 

</script> 

<form action="" method="get" onsubmit="return sprawdz(this);">
<input type="text" name="haslo"/>

<input type="submit" />
</form>




Co jest źle??
piotrooo89
Cytat(Michalo1994 @ 4.03.2009, 08:16:46 ) *
Co jest źle??


błąd jak zawsze ten sam - problem między klawiaturą a krzesłem. Twój kod jest w ogóle nie praktyczny. dlaczego? a jak będziesz miał x możliwości będziesz robił x if'ów? (pomijam że masz w tych if'ach błędy logiczne).

~erix wytłumaczył co i jak masz zrobić. poczytaj o tablicach i pętli (for). taki mój mały hint: musisz sprawdzać czy w tablicy jest nazwa którą wpiszesz. jeśli jest to wyświetlasz OK jeśli nie ma NIE. wsio.


Cytat
Zrobiłem takie cos


ukuło mnie to troszke jako iż jestem w stanie rozpoznać kiedy coś napisałem.
przemdro
Kod
<html>
     <head>
     <script type="text/javascript">
     function sprawdz(formularz){
         var odp = new Array('drzewo','dom');
         for(var i=0; i < odp.length; i++){
             if(formularz.haslo.value == odp[i] ){
                 alert('Tak to ' + odp[i]);
                 return true;
             }
         }
         alert('nie, try again');
         return false;
     }
     </script>
    
     </head>
     <body>
    
     <form action="" method="get" onsubmit="return sprawdz(this);">
     <input type="text" name="haslo" value=""/>
    
     <input type="submit" />
     </form>
    
     </body>
     </html>
No więc tak:
1) najpierw tworzymy tablicę która będzie zawierać poprawne odpowiedzi:
var odp = new Array('drzewo','dom');
tablica ta może być dużo dłuższa, wystarczy po przecinku dodać kolejne odpowiedzi np:
var odp = new Array('drzewo','dom','krzeslo','kot','kat','kit');
Jeśli chcemy wywołać konkretną zmienną tablicy piszemy np: odp[0], odp[1] itd. natomiast ilość wszystkich elementów tablicy to odp.length

2) tworzymy pętlę logiczną i sprawdzamy wewnątrz niej czy dany element tablicy (czyli: odp[i]) jest równy temu co w polu haslo.
for(var i=0; i < odp.length; i++){ ... }
Jeśli tak, robimy co tam chcemy i piszemy return true; Dzięki temu dalsza część kodu nie wykona się.

3) Jeśli przejdziemy przez całą pętlę to znaczy, że żadna z podanych odpowiedzi nie była zgodna z zawartością pola haslo, wtedy możemy zrobić co chcemy i na koniec zwrócić wartość return false;

A może mi ktoś pomóc? tongue.gif
Michalo1994
A jest taki skrypt do ściagnięcia z netu??
Spawnm
poszukaj i nam powiedz -__-
albo nie, poszukaj i jak nie znajdziesz to weź kurs i się naucz js a nie liczysz na gotowca.

google nie boli ...
Michalo1994
Ja to musze miec na dzis;((( Ide z tego forum, zegnajcie
ucho
Cytat(Michalo1994 @ 4.03.2009, 09:56:25 ) *
Ja to musze miec na dzis;((( Ide z tego forum, zegnajcie

Jeżeli ktoś kiedyś postanowi dorobić do forum pasek z cytatami i mądrościami (tak jak ten w bugzilli) to chciałbym żeby powyższy psot się tam znalazł =)
erix
Cytat
następne marudzenie o gotowca będzie skutkowało zamknięciem tematu i warnem.

Żeby nie być gołosłownym...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.