problema con cambiamento automatico di value in un input type text

Instabile

Nuovo Utente
4 Mag 2012
8
0
0
Ciao a tutti!

Ho una select dove seleziono una scelta, ecco un esempio parziale, per non mettere proprio tutte le opzioni:

Codice:
<select name="tipo" id="tipo" class="selecttext">
   <option  value="APP">Appartamento</option>
   <option  value="VIL">Villa</option>
   <option  value="COM">Locale commerciale</option>    
   <option  value="TED">Terreno</option>
</select>



Ho alcuni script tra gli head:

Codice:
<script>
function change(object){
	var value=object.value;
	if(value=="VIL" || value=="APP" || value=="UFF" ) {
		document.getElementsByName("areamin")[0].value="vani min";
		document.getElementsByName("areamax")[0].value="vani max";
	}

	else {
		document.getElementsByName("areamin")[0].value="mq min";
		document.getElementsByName("areamax")[0].value="mq max";
	}

}
</script>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

<script type="text/javascript" src="js/italia.js"></script>


<script type="text/javascript">

function numbersOnly(oToCheckField, oKeyEvent) {
	return oKeyEvent.charCode === 0 || /\d/.test(String.fromCharCode(oKeyEvent.charCode));
}
</script>





E poi i due input type text con i vari controlli dove inserisco o i mq min e max, oppure i vani min e max, dipende dalla selezione che faccio nella select qui sopra:

Codice:
<td>
	<input type="text" class="inputsearchdown"  value="mq min" name="areamin" onFocus="if (this.value=='mq min') {this.value=''};" onBlur="if (this.value=='') {this.value='mq min'};" onkeypress="return numbersOnly(this, event);" onpaste="return false;" onchange="return soloN(this);" />
</td>

<td style="padding-left:10px;">
	<input type="text" class="inputsearchdown"  value="mq max" name="areamax" onFocus="if (this.value=='mq max') {this.value=''};" onBlur="if (this.value=='') {this.value='mq max'};" onkeypress="return numbersOnly(this, event);" onpaste="return false;" onchange="return soloN(this);" />
</td>




Il problema per voi che capite di javascript sarà di sicuro facile da individuare, io non saprei proprio come risolvere perché non conosco il linguaggio.
In pratica come dedurrete dal codice, grazie ad alcuni utenti di questo forum, ho fatto in modo di avere dei controlli dei campi, controlli che, viste le esigenze sono diventati più complicati da gestire. Si nota che non posso inserire punteggiatura ma solo numeri, e inoltre che se clicco sull'input, il suggerimento scompare, e ricompare nel caso non scrivo niente, e poi che se cambio la selezione della select mq min e mq max diventeranno vani min e vani max, dipende appunto dalla selezione che faccio.

Ora si sono verificati i seguenti problemi...:

Se cambio la selezione con la select il suggerimento cambia, e fin qui va bene, ma non scompare più con il click del mouse, lo devo cancellare con la tastiera, il che non va bene! Inoltre se lo cancello con la tastiera e lascio il campo vuoto, da vani min (del primo campo ad esempio) mi ritorna mq min, invece mi serve il suggerimento che da con la selezione della select. Come posso risolvere queste due cose?

Grazie siete sempre gentili!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
ho aggiunto la funzione cancella() che si occuperà di azzerare o ripristinare il campo passato

ho modificato la funzione change() per assegnare anche il value di default ai campi

ho aggiunto l'evento onchange nella select che ti eri scordato di postare

ho tolto gli eventi onpaste e onchange dagli input (onchange non credo possa essere applicato ad un input l'altro non lo conosco e non ne capisco l'utilità)

ho tolto il primo parametro alla funzione numbersOnly() poiche inutile in questo esempio

ho tolto il value dall Html degli input e ho aggiunto una option vuota alla select

Non mi pare di aver fatto altro :) . Provalo cosi e fai sapere

Codice:
<script type="text/javascript">
    function change(object){
        var value=object.value;
        if(value=="VIL" || value=="APP" || value=="UFF" ) {
            var min = document.getElementsByName("areamin")[0];
            min.value="vani min";
            min.defaultValue="vani min";
            
            var max =document.getElementsByName("areamax")[0];            
            max.value="vani max";
            max.defaultValue="vani max";
        }else {
            var min = document.getElementsByName("areamin")[0];
            min.value="mq min";
            min.defaultValue="mq min";
            
            var max =document.getElementsByName("areamax")[0];            
            max.value="mq max";
            max.defaultValue="mq max";
        }
    }
    function cancella(campo){
       
        if (campo.defaultValue == campo.value)  {
            campo.value = '';
        }    
        else if (campo.value == '') {
            campo.value = campo.defaultValue;    
        }
    }
</script>
<script type="text/javascript">
    function numbersOnly(oKeyEvent) {
        return oKeyEvent.charCode === 0 || /\d/.test(String.fromCharCode(oKeyEvent.charCode));
    }
</script>
<select name="tipo" id="tipo" class="selecttext" onchange="change(this)">
    <option  value=""></option>
    <option  value="APP">Appartamento</option>
    <option  value="VIL">Villa</option>
    <option  value="COM">Locale commerciale</option>    
    <option  value="TED">Terreno</option>
</select>
<table>
    <tr>
        <td>
            <input type="text" class="inputsearchdown" name="areamin" onFocus="cancella(this)" onBlur="cancella(this)" onkeypress="return numbersOnly(event);" />
        </td>

        <td style="padding-left:10px;">
            <input type="text" class="inputsearchdown" name="areamax" onFocus="cancella(this)" onBlur="cancella(this)" onkeypress="return numbersOnly(event);" />
        </td>
    </tr>
</table>

Ricordati che la sintassi è molto importante: se sbagli a mettere una virgola non ti funziona piu niente

L'ho testato in locale e pare funzionare.

ciao

ho modificato la chiamata a numbersOnly() nel secondo input (avevo sbagliato :))
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18
grgfede Problema javascript con aruba Javascript 1

Discussioni simili