Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Controllare se una chiave di un array è definita

    Salve, vorrei porre un piccolo problema, mi spiego meglio.
    Ho un array in javascript formato da chiavi e valori
    Ho due caselle input chiamate rispettivamente “chiave” e “valore”.
    Vorrei che l’utente scrivesse una parola nella input “chiav”e e,
    automaticamente deve comparire il valore corrispondente nella casella
    input “valore”.
    Purtroppo non sempre quello che l’utente scrive nella casella input
    “chiave” è presente nell’array e così mi esce un errore di valore
    indefinito (ovviamente).
    La mia domanda è la seguente: prima di chiedere all’array il valore
    assegnato alla chiave desiderata, mi piacerebbe sapere se posso
    controllare l’esistenza della chiave nell’array in modo da poter gestire
    l’errore.
    Sperando di essere stato chiaro, ringrazio.
    domedim

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    if (tuoArray.hasOwnProperty(chiave)) {
    //FAI QUALCOSA
    }

  3. #3
    codice:
    for(c=0;c<array.length;c++){
    if(document.getElementById("chiav").value==array[c]){
    // CODICE
    }}
    Se non ho interpretato bene la tua domanda chiedo scusa.

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    @marco476
    Credo che intendesse sapere SE esiste una determinata chiave, non se il valore della chiave corrispondesse a qualcosa in particolare. Per entrare più nello specifico della domanda:

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Esempio</title>
    <script type="text/javascript">
    var aArrayEsempio = ["tizio", "caio", "sempronio", "vero", "falso", "ciao", "mondo"];
    aArrayEsempio[10] = "valore numero con id = 10";
    
    function checkInput(oToCheckField, oKeyEvent) {
    	if (!oKeyEvent) { oKeyEvent = window.event; }
    	var nChar = oKeyEvent.charCode;
    	if (nChar === 0 || /\d/.test(String.fromCharCode(nChar))) { return true; }
    	return false;
    }
    
    function printValue(oInputField, oOutputField) {
    	oOutputField.value = oInputField.value && aArrayEsempio.hasOwnProperty(oInputField.value) ? aArrayEsempio[oInputField.value] : "";
    }
    </script>
    </head>
    
    <body>
    
    <form name="myForm">
    <table><tr><th>Chiave</th><th>Valore</th></tr>
    <tr><td><input type="text" name="chiave" onkeypress="return(checkInput(this, event));" onkeyup="printValue(this, this.form.valore);" onpaste="return(false);" /></td>
    <td><input type="text" name="valore" readonly /></td></tr></table>
    </form>
    
    </body>
    </html>

  5. #5
    Hai ragione scusami, così è perfetto.


    Ps: ho aperto poco prima un post in questa sezioni riguardo un problema nel creare un marquee con jquery..vedo che sei molto preparato..non è che potresti darmi una mano?
    Scusate l'OT xD

  6. #6
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da marco476
    Ps: ho aperto poco prima un post in questa sezioni riguardo un problema nel creare un marquee con jquery..vedo che sei molto preparato..non è che potresti darmi una mano?
    Scusate l'OT xD[/SIZE]
    Mi spiace, ma jQuery so a stento cos'è e non voglio imparare a usarlo... c'è molto più gusto senza... Sorry...

  7. #7
    Originariamente inviato da carlomarx
    @marco476
    Credo che intendesse sapere SE esiste una determinata chiave, non se il valore della chiave corrispondesse a qualcosa in particolare. Per entrare più nello specifico della domanda:

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Esempio</title>
    <script type="text/javascript">
    var aArrayEsempio = ["tizio", "caio", "sempronio", "vero", "falso", "ciao", "mondo"];
    aArrayEsempio[10] = "valore numero con id = 10";
    
    function checkInput(oToCheckField, oKeyEvent) {
    	if (!oKeyEvent) { oKeyEvent = window.event; }
    	var nChar = oKeyEvent.charCode;
    	if (nChar === 0 || /\d/.test(String.fromCharCode(nChar))) { return true; }
    	return false;
    }
    
    function printValue(oInputField, oOutputField) {
    	oOutputField.value = oInputField.value && aArrayEsempio.hasOwnProperty(oInputField.value) ? aArrayEsempio[oInputField.value] : "";
    }
    </script>
    </head>
    
    <body>
    
    <form name="myForm">
    <table><tr><th>Chiave</th><th>Valore</th></tr>
    <tr><td><input type="text" name="chiave" onkeypress="return(checkInput(this, event));" onkeyup="printValue(this, this.form.valore);" onpaste="return(false);" /></td>
    <td><input type="text" name="valore" readonly /></td></tr></table>
    </form>
    
    </body>
    </html>
    si, come tu dici
    ora è tutto ok, grazie 1000 per l'aiuto
    domedim

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.