Skrypt na sprawdzanie poprawności tekstu+odnośnik

Odpowiedz Nowy wątek
2018-10-04 13:25
0

Witam,
Mam problem z funkcją która ma na celu sprawdzenie czy została wpisana poprawna data w pole tekstowe. Po poprawnym wpisaniu daty guzik ma za zadanie przenieść nas na drugą stronę. Pisałem kilka różnych wersji tego skryptu ale żaden nie chce działać, podpowie ktoś jak to zrobić?

link do szkieletu: https://codepen.io/Marwoj/pen/oabpxW

Dodam że jestem początkującym i dopiero się uczę js'a.

edytowany 1x, ostatnio: furious programming, 2018-10-04 21:04

Pozostało 580 znaków

2018-10-04 13:41
1

Nie jestem ekspertem, ale wygląda na to, że Twój "else" jest w środku "if", zamiast po. Powinno chyba być tak?:

<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script type="text/javascript">
function password()
{
var wynik = document.getElementById('pole');
    if(wynik!="07.10.2017")
    {
        alert("Błędna data, spróbuj innej");    
    }
    else
    {
        file_get_contents('index2.html');
    }
}
</script>
    <input type="text" size="10" id="pole" value="DD.MM.RRRR"/>
    <br><br>
    <button onClick="password()">Sprawdź poprawność</button>
</body>
</html>
edytowany 1x, ostatnio: aliszja, 2018-10-04 13:47

Pozostało 580 znaków

2018-10-04 13:48
0

Fakt, teraz działa alert ale po wpisaniu poprawnej daty nadal wyskakuje błąd. A jeżeli zamienie miejscami warunki pod if i else i usune negacje to nic sie nie dzieje :/

edytowany 1x, ostatnio: MlodyProgramista, 2018-10-04 14:02

Pozostało 580 znaków

2018-10-04 14:02
1

Po getElementById() wypadałoby jeszcze dodać .value, bo sprawdzasz, czy string jest różny od text inputu :)

<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script type="text/javascript">
function password()
{
var wynik = document.getElementById("pole").value;
    if (wynik!="07.10.2017")
    {
        alert("Błędna data, spróbuj innej");

    }
    else
    {
        file_get_contents('index2.html');
    }
}
</script>
    <input type="text" size="10" id="pole" value="DD.MM.RRRR"/>
    <br><br>
    <button onClick="password()">Sprawdź poprawność</button>
</body>
</html>
edytowany 1x, ostatnio: aliszja, 2018-10-04 14:03

Pozostało 580 znaków

2018-10-04 14:11
0

Cos jest nie tak z tym odsyłaczem, jak dam zamiast niego alert to wszystko działa. Jakaś propozycja na przeniesienie do nowej karty przy else? Nie jestem pewien czy a href tu zadziała.

edytowany 1x, ostatnio: MlodyProgramista, 2018-10-04 14:18

Pozostało 580 znaków

2018-10-04 14:23
1

Generalnie to nie czuję się zbyt kompetentna, bo ostatni raz pisałam w JS na studiach, ale w Internetach piszo tak: https://stackoverflow.com/questions/10693518/is-there-a-javascript-way-to-do-file-get-contents , może to będzie pomocne.

edytowany 1x, ostatnio: aliszja, 2018-10-04 14:26

Pozostało 580 znaków

2018-10-04 14:56
0

Dobra, z tego poziomu już sobie poradzę, dzięki za pomoc :)

Pozostało 580 znaków

2018-10-04 15:10
1

Pytanie jest inne - czemu chcesz umieszczać datę w polu tekstowym, skoro jest do tego celu specjalnie dedykowane pole <input type="date"> (https://developer.mozilla.org[...]s/Web/HTML/Element/input/date), które po kliknięciu automatycznie pokazuje kalendarz, z którego można wskazać datę.


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say

Pozostało 580 znaków

2018-10-04 15:35
0

forma daty jest obojętna, byle by po wpisaniu poprawnej button przekierowywał do następnej strony

Pozostało 580 znaków

2018-10-04 15:57
1

Zobacz tutaj - https://jsfiddle.net/ncue7xyp/. zmieniłem typ pola z text na date. Teraz jest to trochę lepiej zrobione.

Ponadto masz działające sprawdzenie - jeśli ustawisz datę na 7 października 2018 to pokazuje komunikat, że data jest OK, w innym przypadku wyskakuje komunikat o błędzie.

Natomiast to, co chcesz zrobić nie ma prawa działać - funkcja file_get_contents nie jest funkcją Javascript, ale PHP, w związku z czym to nie może się udać, w ten sposób nie wyświetlisz innej strony ani nie przekierujesz użytkownika w żadne inne miejsce.

Możesz poczytać sobie na SO - https://stackoverflow.com/que[...]t-way-to-do-file-get-contents


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say
edytowany 2x, ostatnio: cerrato, 2018-10-04 16:01

Pozostało 580 znaków

2018-10-04 16:15
0

chodziło mi konkretnie o location.href="url"; teraz wszystko śmiga :D

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0