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

Pomoc z kodem JS

Konkurs Mistrz Programowania
+1 głos
219 wizyt
pytanie zadane 15 marca 2022 w JavaScript przez Skinek_ Nowicjusz (190 p.)

Witam, mam taki skrypt na wyszukiwarkę (prowizoryczną)  krajów na mojej stronie. Podczas gdy wpisuje "Polska" wyświetla mi się box polski. Gdy wpisuje "Niemcy" także wyskakuje mi box Polski. Gdy wpisuje byle co tez wyskakuje mi box polski pomimo ustawionego if else i else. Jest ktoś w stanie pomóc?

 

function search(){

var kraj = $("input-srch").val();

if(kraj = "Polska", "polska", "pol", "Pol", "poland", "Poland"){
    document.getElementById("container").innerHTML="<div class='search-cont'><div class='topbar'><div class='srchbox'><input type='text' placeholder='Szukaj...' autocomplete='on'><button onclick='search()'><i class='fa-solid fa-magnifying-glass'></i></button></div><div class='logo'><h1>C<img src='img/earth-flat.png' alt=''>UNTRYPEDIA</h1></div><center><div class='menu'><a href='index.html'><p>Strona główna</p></a><a href='#'><p>Wsparcie</p></a><a href='#kontynenty'><p>Kontynenty</p></a><a href='#'><p>Autor</p></a><button><a href='#'>Pomoc</a></button></div></center></div><center><div class='countries'><div class='box-search'><div class='box'><img src='flags/pl.png' alt=''><h3>Polska</h3><table><tr><td><i class='fa-solid fa-user'></i> <p>Mieszkańcy</p> <a>37mln</a></td></tr><tr><td><i class='fa-solid fa-map'></i> <p>Powierzchnia</p> <a>312 679 km²</a></td></tr></table><button>Czytaj <i class='fa-solid fa-angle-right'></i></button></div></div></div></center> <div class='footer'><h1>Śledź countrypedie na social mediach</h1><i class='fa-brands fa-discord' id='dc'></i><i class='fa-brands fa-twitter' id='tw'></i><i class='fa-brands fa-facebook' id='fb'></i><i class='fa-brands fa-github' id='git'></i><h2>Skontaktuj się z nami!</h2><i class='fa-solid fa-envelope' id='mail'></i> <a id='mailik'><p>countrypediapomoc@gmail.com</p></a><center><h3>Autor: </h3><a href='https://wdprojects.opx.pl' target='_blank' id='imie'>Jakub Polański</a></center></div></div>";
}
else if(kraj = "Niemcy"){
    document.getElementById("container").innerHTML="<div class='search-cont'><div class='topbar'><div class='srchbox'><input type='text' placeholder='Szukaj...' autocomplete='on'><button onclick='search()'><i class='fa-solid fa-magnifying-glass'></i></button></div><div class='logo'><h1>C<img src='img/earth-flat.png' alt=''>UNTRYPEDIA</h1></div><center><div class='menu'><a href='index.html'><p>Strona główna</p></a><a href='#'><p>Wsparcie</p></a><a href='#kontynenty'><p>Kontynenty</p></a><a href='#'><p>Autor</p></a><button><a href='#'>Pomoc</a></button></div></center></div><center><div class='countries'><div class='box-search'><div class='box'><img src='flags/pl.png' alt=''><h3>Niemcy</h3><table><tr><td><i class='fa-solid fa-user'></i> <p>Mieszkańcy</p> <a>37mln</a></td></tr><tr><td><i class='fa-solid fa-map'></i> <p>Powierzchnia</p> <a>312 679 km²</a></td></tr></table><button>Czytaj <i class='fa-solid fa-angle-right'></i></button></div></div></div></center> <div class='footer'><h1>Śledź countrypedie na social mediach</h1><i class='fa-brands fa-discord' id='dc'></i><i class='fa-brands fa-twitter' id='tw'></i><i class='fa-brands fa-facebook' id='fb'></i><i class='fa-brands fa-github' id='git'></i><h2>Skontaktuj się z nami!</h2><i class='fa-solid fa-envelope' id='mail'></i> <a id='mailik'><p>countrypediapomoc@gmail.com</p></a><center><h3>Autor: </h3><a href='https://wdprojects.opx.pl' target='_blank' id='imie'>Jakub Polański</a></center></div></div>";
}
else{
    document.getElementById("container").innerHTML="<h1>Brak wyników!</h1>";
}
}

 

2 odpowiedzi

+1 głos
odpowiedź 15 marca 2022 przez VBService Ekspert (256,600 p.)
edycja 15 marca 2022 przez VBService
  1. Jak już wspomniał @wizarddosif (kraj = "Polska", ...) { ... }
    if (
    kraj == "Polska") { ... }
  2. Nieprawidłowe użycie: $("input-srch").val()
    $("input").val()  =>  <input type="text" />
    $("input[name='input-srch']").val()  =>  <input type="text" name="input-srch" />
    - $(".input-srch").val()  =>  <input type="text" class="input-srch" />
    - $("#input-srch").val()  =>  <input type="text" id="input-srch" />
  3. użyj zapisu np.:
    const pl_allowed_words = [ "Polska", "polska", "pol", "Pol", "poland", "Poland" ];
    if (pl_allowed_words.includes(kraj))

 

proponuje taki zapis

const pl_allowed_words = [ "polska", "pol", "poland" ];

function search() { 
  const kraj = ($("#input-srch").val()).toLowerCase(),
        container = document.getElementById("container");
  
  if (pl_allowed_words.includes(kraj)) {
    container.innerHTML = "<div class='search-cont'><div class='topbar'><div class='srchbox'><input type='text' placeholder='Szukaj...' autocomplete='on'><button onclick='search()'><i class='fa-solid fa-magnifying-glass'></i></button></div><div class='logo'><h1>C<img src='img/earth-flat.png' alt=''>UNTRYPEDIA</h1></div><center><div class='menu'><a href='index.html'><p>Strona główna</p></a><a href='#'><p>Wsparcie</p></a><a href='#kontynenty'><p>Kontynenty</p></a><a href='#'><p>Autor</p></a><button><a href='#'>Pomoc</a></button></div></center></div><center><div class='countries'><div class='box-search'><div class='box'><img src='flags/pl.png' alt=''><h3>Polska</h3><table><tr><td><i class='fa-solid fa-user'></i> <p>Mieszkańcy</p> <a>37mln</a></td></tr><tr><td><i class='fa-solid fa-map'></i> <p>Powierzchnia</p> <a>312 679 km²</a></td></tr></table><button>Czytaj <i class='fa-solid fa-angle-right'></i></button></div></div></div></center> <div class='footer'><h1>Śledź countrypedie na social mediach</h1><i class='fa-brands fa-discord' id='dc'></i><i class='fa-brands fa-twitter' id='tw'></i><i class='fa-brands fa-facebook' id='fb'></i><i class='fa-brands fa-github' id='git'></i><h2>Skontaktuj się z nami!</h2><i class='fa-solid fa-envelope' id='mail'></i> <a id='mailik'><p>countrypediapomoc@gmail.com</p></a><center><h3>Autor: </h3><a href='https://wdprojects.opx.pl' target='_blank' id='imie'>Jakub Polański</a></center></div></div>";
  }
  else if (kraj == "niemcy") {
    container.innerHTML = "<div class='search-cont'><div class='topbar'><div class='srchbox'><input type='text' placeholder='Szukaj...' autocomplete='on'><button onclick='search()'><i class='fa-solid fa-magnifying-glass'></i></button></div><div class='logo'><h1>C<img src='img/earth-flat.png' alt=''>UNTRYPEDIA</h1></div><center><div class='menu'><a href='index.html'><p>Strona główna</p></a><a href='#'><p>Wsparcie</p></a><a href='#kontynenty'><p>Kontynenty</p></a><a href='#'><p>Autor</p></a><button><a href='#'>Pomoc</a></button></div></center></div><center><div class='countries'><div class='box-search'><div class='box'><img src='flags/pl.png' alt=''><h3>Niemcy</h3><table><tr><td><i class='fa-solid fa-user'></i> <p>Mieszkańcy</p> <a>37mln</a></td></tr><tr><td><i class='fa-solid fa-map'></i> <p>Powierzchnia</p> <a>312 679 km²</a></td></tr></table><button>Czytaj <i class='fa-solid fa-angle-right'></i></button></div></div></div></center> <div class='footer'><h1>Śledź countrypedie na social mediach</h1><i class='fa-brands fa-discord' id='dc'></i><i class='fa-brands fa-twitter' id='tw'></i><i class='fa-brands fa-facebook' id='fb'></i><i class='fa-brands fa-github' id='git'></i><h2>Skontaktuj się z nami!</h2><i class='fa-solid fa-envelope' id='mail'></i> <a id='mailik'><p>countrypediapomoc@gmail.com</p></a><center><h3>Autor: </h3><a href='https://wdprojects.opx.pl' target='_blank' id='imie'>Jakub Polański</a></center></div></div>";
  }
  else {
    container.innerHTML = "<h1>Brak wyników!</h1>";
  }
}

 

0 głosów
odpowiedź 15 marca 2022 przez wizarddos Nałogowiec (28,110 p.)
Operatorem porównania dla JS'a jest === (lub ewentualnie ==)

Ty w tych ifach przypisujesz wartość do zmiennej i ten if sprawdza "Czy udało nam się przypisać taką wartość" zamiast "Czy wartości są takie same"

Po prostu podmień = w ifach na ===

Podobne pytania

0 głosów
2 odpowiedzi 426 wizyt
pytanie zadane 22 listopada 2015 w HTML i CSS przez Headhunter Gaduła (4,450 p.)
0 głosów
1 odpowiedź 184 wizyt
pytanie zadane 28 lipca 2020 w JavaScript przez Wiktor W Nowicjusz (120 p.)
+1 głos
1 odpowiedź 291 wizyt

93,657 zapytań

142,577 odpowiedzi

323,100 komentarzy

63,175 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

Kursy INF.02 i INF.03
...