Controllare se la TextArea/TextBox contiene una certa Stringa

Dato textarea è un elemento textarea con id ‘textareabox’, come posso controllare se contiene una stringa all’interno di esso?

var textarea = document.getElementById('textareabox');

var word = something;

if (!textarea.contains(word))
{
textarea.value += word;
}



3 Replies
  1. 3

    È possibile utilizzare .value, come:

    var textarea = document.getElementById('textareabox');
    
    var word = 'something';
    
    var textValue=textarea.value;  //-> don't use .innerHTML since there is no HTML in a textarea element
    
    if (textValue.indexOf(word)!=-1)
    {
      alert('found')
    }
    • È consigliabile non utilizzare .value per le aree di testo considerando che sono gli elementi di input?
    • Poiché si tratta di un tag form, value è il modo corretto di fare questo.
    • Sì, hai ragione, aggiornata la risposta.
    • non c’è html all’interno di una textarea
    • Cordiali saluti .innerHTML funziona… avete mai provato..
    • sì, ma questo non significa che l’utilizzo di innerHTML è corretto.
    • hai ragione, stavo commentando thomas commento, che non c’è html all’interno di una textarea, penso che significa innerHTML non è valido.
    • non è una buona pratica di utilizzare .innerHTML. Non assegna bene. coderanch.com/t/461237/HTML-CSS-JavaScript/…
    • OK…grazie per la modifica. e grazie per il link. 🙂

  2. 1

    Si potrebbe fare qualcosa di simile a questo:

    var textarea = document.getElementById('textareabox').value;
    
    if (texarea.match(word) != null) {
        //do some stuff
    }

    Una migliore regex di quello che ho fatto ma non so regex che (perdonami regex ignoranza).

    • regex è eccessivo. indexOf sarà sufficiente
    • Buona chiamata. indexOf è più facile e veloce.
  3. 0

    CSS:

    body {
    background-color: red;
    
    
    }

    HTML:

    <html>
    <h1>#mywebsite</h1>
    <body>1+1=2?(yes <strong>or</strong> no)</body>
    <input type="text" id="text" placeholder="text here"></input>
    <button type="button" id="u" onclick="run()">submit</button>
    <script type="text/javascript">
    
    
    var a = 1;
    function run() {
    if (document.getElementById("text").value.includes("yes")) {
    alert("correct!");
    /*if the textbox includes "yes" it will say you got it right; basically whatever the input your user puts into the textbox it will test if the users sentence contains "yes" it alerts "correct!" into html if its wrong well it alerts "Try again!" the thing is, no matter what, if yes is in the sentance it will still say its correct.*/
    /*if the snippet will not work use a different website to put code on */
    document.body.innerHTML += "<li>attempt #" + a + ": correct";
    a++
    }
     
    else {
    
    alert("try again!")
    document.body.innerHTML += "<li>attempt #" + a + ": try again";
    a++
    }
    
    
    
    }
    </script>

    • Vorrei aggiungere una spiegazione più dettagliata?
    • OK ho provato a al codice.

Lascia un commento