• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Podpisanie pod zmienną tekst inputa - problem

Object Storage Arubacloud
0 głosów
75 wizyt
pytanie zadane 6 kwietnia 2019 w JavaScript przez Kacperhehe Bywalec (2,930 p.)
function check_input() {
    var x = document.getElementById("urlinput").innerHTML;
    alert(x);
    if (x == "") {
        document.getElementById("alert-box").innerHTML='There is nothing to shorten';
        alert_box();
    } else {
        shorturl()
    }
}

Mam taki kod, w jaki sposób wpisać treść inputa pod zmienną X?

Gdy zrobiłem jak wyżej zawsze jest pusty i nie wiem co dalej.

 

I drugie pytanko

teraz skrypt sprawdza czy input nie jest pusty

w jaki sposób sprawdzić czy gdzieś w sobie nie ma http lub https?

 

 

2 odpowiedzi

0 głosów
odpowiedź 6 kwietnia 2019 przez Tpk Nałogowiec (40,100 p.)

1. Przykładowo nadaj inputowi id #testowo i pobierz jego wartość w taki sposób:

let tmp = document.querySelector('#testowo').value;
console.log(tmp)

Ważne, wartość będzie istniała w momencie wysłania formularza! Jeżeli chcesz sprawdzać na bieżąco (to co użytkownik poda) musisz nasłuchiwać odpowiedniego zdarzenia - addEventListener.

2. Jest wiele sposobów, jednym z nich są wyrażenia regularne (RegExp).

0 głosów
odpowiedź 7 kwietnia 2019 przez Tomek Sochacki Ekspert (227,510 p.)

Jeśli chcesz pobrać samą wartość pola w input to nie odwołuj się do innrHTML tylko po prostu do właściwości value na pobranej referencji do inputa.

A co do sprawdzenia https to po pierwsze ja bym zrobił na tym value trim(), aby obciąć białe znaki, a po drugie jest kilka metod, w sumie wszystkie je można spotkać, tu masz gotowca, wybierz sobie jaka metoda Ci najbardziej odpowiada do tego problemu:

const value1 = 'https://wp.pl';
const value2 = 'some-text';

value1.startsWith('http');    // true
value2.startsWith('http');    // false

value1.slice(0,4) === 'http'; // true
value2.slice(0,4) === 'http'; // false

/^https?/i.test(value1);      // true
/^https?/i.test(value2);      // false

Regexp jest najbardziej uniwersalny, bo pozwala np. od razu objąć sprawdzenie bez znaczenia na wielkość znaków (flaga "i") co czasami jest przydatne. Zależy w jakim celu robisz tą walidację, jeśli to jakieś sprawdzenie zabezpieczające to warto taki case wziąć pod uwagę (albo użyć toLowerCase na stringu), ale często widuję też w kodach wariant drugi. String.prototype.startsWith jest stosunkowo nową metodą ale jeśli używasz babela do transpilacji to nie powinien to być problem. Także wybierz sobie w zależności od potrzeb i z uwzględnieniem wspieranych środowisk i ustawień Twojego buildera.

Podobne pytania

–1 głos
2 odpowiedzi 522 wizyt
pytanie zadane 8 października 2016 w JavaScript przez Famous Nowicjusz (180 p.)
0 głosów
3 odpowiedzi 97 wizyt
pytanie zadane 11 października 2019 w HTML i CSS przez SzymekKrul Nowicjusz (190 p.)
0 głosów
1 odpowiedź 681 wizyt
pytanie zadane 28 grudnia 2017 w HTML i CSS przez Wionek Użytkownik (670 p.)

92,568 zapytań

141,424 odpowiedzi

319,633 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...