Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    253

    Problema con casella di testo

    Ciao a tutti, ho 1 problema tanto stupido (spero!) quanto duro da risolvere, almeno per me...

    Ho una semplice casella di testo dentro un form che spara i valori dentro una function javascript per farli analizzare.

    Il valore di questa casella di testo dovrebbe essere numerico, e venire confrontato con quello di un' altra casella di testo impostata a hidden. Il mio problema è che quando vado a fare il confronto nella function tra le due caselle succede 1 cosa strana, cioè questa:

    Es. casella1 = form.nomecasella1.value = 22 (valore di esempio)
    casella2 = form.nomecasella2.value = 6 (valore di esempio)

    invece di riconoscere casella1 > casella2 riconosce l'opposto in quanto mi analizza soltanto la prima cifra di ogni casella...Aiutatemi vi prego!!!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Problema con casella di testo

    Originariamente inviato da referee84
    Ciao a tutti, ho 1 problema tanto stupido (spero!) quanto duro da risolvere, almeno per me...

    Ho una semplice casella di testo dentro un form che spara i valori dentro una function javascript per farli analizzare.

    Il valore di questa casella di testo dovrebbe essere numerico, e venire confrontato con quello di un' altra casella di testo impostata a hidden. Il mio problema è che quando vado a fare il confronto nella function tra le due caselle succede 1 cosa strana, cioè questa:

    Es. casella1 = form.nomecasella1.value = 22 (valore di esempio)
    casella2 = form.nomecasella2.value = 6 (valore di esempio)

    invece di riconoscere casella1 > casella2 riconosce l'opposto in quanto mi analizza soltanto la prima cifra di ogni casella...Aiutatemi vi prego!!!
    Le caselle di testo inviano stringhe, anche se inserisci numeri prova cosi:
    Es. casella1 = parseInt(form.nomecasella1.value) = 22 (valore di esempio)
    casella2 = parseInt(form.nomecasella2.value) = 6 (valore di esempio)
    Il parseInt trasforma una stringa in un numero intero, qualora persista il problema posta la pagina contenente il form
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Problema centrato
    Si tratta di "stringhe" e la stringa "6" è maggiore della stringa "22" poichè tra stringhe il confronto è secondo l'ordine "alfabetico" e il "6" viene prima del "2"
    Quindi "6" > "22" come "f" > "aa"
    Devi trasformare i valori in numerici con parseint() or parsefloat() a seconda se sono interi o con la virgola

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    253
    Scusate per il ritardo, in effetti avevo già provato con parseint ma probabilmente non lo utilizzavo nelle posizioni corrette! Cmq ha funzionato correttamente ed ora il mio confronto va una meraviglia.

    Un'altra cortesia, se possibile: se nelle stesse caselle di testo volessi impedire la digitazione di tutti quei caratteri che nn sono numeri interi, cosa dovrei fare di preciso?

    Grazie a tutti!

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da referee84
    Scusate per il ritardo, in effetti avevo già provato con parseint ma probabilmente non lo utilizzavo nelle posizioni corrette! Cmq ha funzionato correttamente ed ora il mio confronto va una meraviglia.

    Un'altra cortesia, se possibile: se nelle stesse caselle di testo volessi impedire la digitazione di tutti quei caratteri che nn sono numeri interi, cosa dovrei fare di preciso?

    Grazie a tutti!
    cosi:
    if(!form.nomecasella1.value.match(/^([0-9])+$/)){
    alert("Iserisci solo numeri");
    return false;
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    253
    Ma questo blocca l'inserimento sul nascere oppure controlla i valori una volta inseriti? Io vorrei proprio impedire la digitazione, nel senso: se digiti una lettera la casella di testo rimane vuota!

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da referee84
    Ma questo blocca l'inserimento sul nascere oppure controlla i valori una volta inseriti? Io vorrei proprio impedire la digitazione, nel senso: se digiti una lettera la casella di testo rimane vuota!
    La strada e quella una regular exp poi per fare quello che desideri devi implemtarlo verificando l'ultimo carattere digitato e se è un carattere non ammesso lo cacella utilizzanto l'eveto onkeyup.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.