JS - alert pri return false – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

JS - alert pri return false – JavaScript, AJAX, jQuery – Fórum – Programujte.comJS - alert pri return false – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Rado
~ Anonymní uživatel
45 příspěvků
5. 4. 2021   #1
-
0
-

Zdravím,

mám prosbu: v JS mám kód na vyhľadanie reťazca na stránke. Po spustení vyznačí prvý nájdený reťazec, takže skript je funkčný.

Potreboval by som poradiť: ako do tohto kódu vložiť alert pre prípad, že sa hľadaný reťazec na stránke nenájde. V JS sa ozaj nevyznám a  moje doterajšie prudko amatérske 

<script>
    function checkInput() {
        var query = document.getElementById('search').value;
        window.find(query);
        return true;
    }
</script>

pokusy nepriniesli výsledok...

Poradí mi niekto, prosím?

Nahlásit jako SPAM
IP: 89.173.23.–
Pavel
~ Anonymní uživatel
383 příspěvků
5. 4. 2021   #2
-
0
-

#1 Rado 

function checkInput() {
  try{
    var query = document.getElementById('search').value;
    window.find(query);
  }
  catch (e) {
    alert(e)
  }
    }
Nahlásit jako SPAM
IP: 46.13.186.–
Rado
~ Anonymní uživatel
45 příspěvků
5. 4. 2021   #3
-
0
-

#2 Pavel
Vďaka za odpoveď, ale nejako sa mi stále nedarí...

Pozeral som u strýca Google funkciu catch, aj som vyskúšal kopu možností ako ten alert vyvolať, ale stále to isté: po stlačení "Hľadať" pri nájdení reťazca tento vyznačí, ak na stránke reťazec neexistuje, vôbec nič sa neudeje...

Nebude chyba v HTML toho formulára? Už som z toho ....

Pripájam HTML formulára aj moje JS pokusy. Možno je to pre toho, čo pozná JS hračka, ale ja s tým bez pomoci nepohnem :-( 

    <form action="" id="form2">
        <div>
            <input type="text" id="search" autocomplete="off" maxlength="8" onkeypress="clsAlphaNoOnly(event)" onpaste="return false;" value="Meno..." onFocus="if (this.value=='Meno...') this.value='';" onblur="if (this.value=='') this.value=Meno...';" onclick="document.getElementById('search').value = ''">
            <input type="button4" id="submit_form" onclick="checkInput()" value="HĽADAŤ">
        </div> 
    </form>

<script>
function checkInput() {
  try{
    var query = document.getElementById('search').value;
    window.find(query);
  }
  catch (e) {
    alert(e)
  }
    }
</script>

// skúsil som aj toto:

<script>
function checkInput() {
  try{
    var query = document.getElementById('search').value;
    window.find(query);
  }
  catch {
   alert("TEST!!!");
  }
    }
</script>
Nahlásit jako SPAM
IP: 89.173.23.–
Pavel
~ Anonymní uživatel
383 příspěvků
5. 4. 2021   #4
-
0
-

OK, to jsem spatne pochopil. Nicmene window.find vraci true pokud nalezne a false pokud ne.

Ve vychozim nastaveni bere ohled na mala a velka pismena a hleda smerem dolu.

Pozn, Zbavil bych se tech eventu v inputu a prendal bych je do js pres addEventListener.

Jinak tohle by melo hledat spravne:
 

Nahlásit jako SPAM
IP: 46.13.186.–
Pavel
~ Anonymní uživatel
383 příspěvků
5. 4. 2021   #5
-
0
-

#4 Pavel 

<form action="" id="form2">
        <div>
            <input type="text" id="search" autocomplete="off" maxlength="8" placeholder="Meno...">
            <input type="button" id="submit_form" onclick="checkInput()" value="HĽADAŤ">
        </div> 
    </form>

 
<script>

function checkInput() {
  try {
    var query = document.getElementById('search').value;
      if (window.find(query, false, true) || window.find(query, false, false)){
        alert(query + " found");      
      }
      else{
        alert('Not found');
      }
      
  }
  catch (e) {
    alert(e);
  }
}
</script>
Nahlásit jako SPAM
IP: 46.13.186.–
Pavel
~ Anonymní uživatel
383 příspěvků
5. 4. 2021   #6
-
0
-

Jeste mi doslo, ze to samozrejme bude najde i hodnotu a placeholder v inputu. Takze po ulozeni hodnoty do promene je treba input "vycistit".

<script>

function checkInput() {
  try {
    var inputEL = document.getElementById('search')
    var query = inputEL.value;
    inputEL.value='';
    inputEL.placeholder='';
      if (window.find(query, false, true) || window.find(query, false, false)){
        alert(query + " found");      
      }
      else{
        alert('Not found');
      }
      
  }
  catch (e) {
    alert(e);
  }
  inputEL.placeholder="Meno...";
}
</script>
Nahlásit jako SPAM
IP: 46.13.186.–
Rado
~ Anonymní uživatel
45 příspěvků
5. 4. 2021   #7
-
0
-

#6 Pavel
Ďakujem veľmi pekne za pomoc - teraz skript beží tak, ako som si predstavoval! Toto by som teda ozaj sám neporiešil...

Nahlásit jako SPAM
IP: 89.173.23.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý