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

    passaggio di valore dentro una variabile

    Ciao a tutti,

    ho un campo di testo classico:

    <input name="sliderValue1" type="Text" id="sliderValue1" size="4" />

    e di seguito ho un altro campo di testo il cui valore è variabile grazie ad uno slider, nel mio caso un selettore di prezzo che va da un valore min ad un max.
    In pratica vorrei passare il valore del primo campo di testo (sliderValue1) come valore minimo dello slider (quindi all'interno della variabile n_minValue).
    Purtroppo sebbene riesco ad ottenere il valore del primo campo di testo (riga 2-3) non riesco poi a passarlo correttamente all'interno della variabile (riga 8), infatti il valore letto è NaN.
    Conoscete la sintassi corretta?

    codice:
    1. //inserisco il valore dentro una variabile variabile
    2. var prezzomin=demoForm.sliderValue1.value;
    3. alert (prezzomin);
    4. // fine
    5.	var A_INIT2 = {
    6.		's_form' : 0,
    7.		's_name': 'sliderValue2',
    8.		'n_minValue' : prezzomin, 
    9.		'n_maxValue' : 3000,
    10.		'n_value' : 3000,
    11.		'n_step' : 20
    12.	}
    Grazie tante.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prova con
    'n_minValue' : parseInt(prezzomin),

    c'e' da capire pero' quando queste proprieta' vengano settate,
    se n_minValue venisse settato, per esempio, a fine caricamento del documento,
    non cambierebbe in base al value del primo campo
    ma a quello che e' contenuto a fine caricamento -> probabilmente nulla -> sicuramente N(ot)aN(umber)

  3. #3
    Intanto grazie, effettivamente funziona ma soltanto all'inizio cioè il primo valore viene preso ma poi se il valore dello slider1 cambia questo non viene aggiornato nel secondo.
    Ho inserito un Onchange sul primo form ma come al solito ho qualche problema con la sintassi.

    onChange="A_INIT2.n_minValue=demoForm.sliderValue1 .value;"


    Vedi qualche errore?

    Grazie ancora!

  4. #4
    Tu scrivi:
    codice:
    <input name="sliderValue1" type="Text" id="sliderValue1" size="4" />
    quindi il campo sliderValue1 ha un id che è proprio sliderValue1.
    Usiamolo!
    codice:
    var prezzomin=document.getElementById('sliderValue1').value;
    poi, volendo associare l'evento onchange al campo:
    codice:
    <input name="sliderValue1" type="Text" id="sliderValue1" size="4" onchange="A_INIT2.n_minValue=parseInt(this.value)" />
    Nota: gli eventi sono tutti minuscoli! onChange non esiste, mentre onchange sì (W3C docet!)

    Non posso provare, ora ... fai un test!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  5. #5
    onchange="A_INIT2.n_minValue=parseInt(this.value)" ... non va, credo il problemia sia sempre nella sintassi, infatti A_INIT2 al suo interno contiene n_minValue quindi è come se fosse un vettore.

    Qualche idea?
    Grazie.

  6. #6
    guarda che funziona perfettamente!
    se copi questo codice in una pagina nuova:
    codice:
    <html>
    <head>
    <script type="text/javascript">
    var A_INIT2 = {
    		's_form' : 0,
    		's_name': 'sliderValue2',
    		'n_minValue' : 0, 
    		'n_maxValue' : 3000,
    		'n_value' : 3000,
    		'n_step' : 20
    	}
    
    </script>
    </head>
    <body>
    <form id="laForm">
    <input name="sliderValue1" type="Text" id="sliderValue1" size="4" onchange="A_INIT2.n_minValue=parseInt(this.value)" />
    </form>
    <span onclick="alert(A_INIT2.n_minValue.toString());">Click</span>
    
    </body>
    </html>
    e scrivi un numero nel campo, sia usando FireBug per guardare il valore della variabile, sia cliccando lo span 'Click' vedrai che il valore di A_INIT2.n_minValue cambia di conseguenza!

    Prova la tua pagina con Firefox, avendo installato l'estensione FireBug!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  7. #7
    E' vero col codice postato da te funziona ma col mio no purtroppo

    Te lo posto tutto, premettendo che si tratta di 2 selettori uno per il prezzo minimo e uno per il prezzo massimo di un prodotto. Lo scopo è che il selettore 2 non vada al di sotto del prezzo impostato sul primo.
    Il Javascript che si richiama è disponibile qui mentre un esempio di dove lo vorrei applicarlo lo trovi qui in Ricerca avanzata

    codice:
    
    <FORM name="demoForm" action="/portatili/cerca.asp" method="get" onSubmit="return mess();" target="_parent">
    
    <table width="100%">
                    <tr>
              <td class="space_table">
    		  
    		  <script language="JavaScript" src="slider.js"></script>
              
                <span class="formsmall">Costo minimo       </span></td>
              <td width="55" rowspan="2"  valign="bottom">
                <span class="scrollnews">€.</span>
                <input name="sliderValue1" type="Text" class="form_blue" id="sliderValue1" size="4"    onChange="A_INIT2[n_minValue]=300;" />    </td>
            </tr>
            <tr>
              <td>      <script language="JavaScript">
    	var A_TPL = {
    		'b_vertical' : false,
    		'b_watch': true,
    		'n_controlWidth': 100,
    		'n_controlHeight': 13,
    		'n_sliderWidth': 13,
    		'n_sliderHeight': 12,
    		'n_pathLeft' : 1,
    		'n_pathTop' : 1,
    		'n_pathLength' : 86,
    		's_imgControl': 'blueh_bg.gif',
    		's_imgSlider': 'blueh_sl.gif',
    		'n_zIndex': 1
    	}
    
    	var A_INIT1 = {
    		's_form' : 0,
    		's_name': 'sliderValue1',
    		'n_minValue' : 0,
    		'n_maxValue' : 3000,
    		'n_value' : 200,
    		'n_step' : 20
    	}
    	new slider(A_INIT1, A_TPL);
                </script> </td>
              </tr>
            <tr>
              <td class="formsmall">  Costo massimo
                        </span></td>
              <td width="55" rowspan="2" valign="bottom">
                <span class="scrollnews">€.</span>
                <input name="sliderValue2" type="Text" class="form_red" id="sliderValue2" size="4" />
             </td>
            </tr>
            <tr>
              <td height="10">  
                <script language="JavaScript">
    		var A_TPL = {
    		'b_vertical' : false,
    		'b_watch': true,
    		'n_controlWidth': 100,
    		'n_controlHeight': 13,
    		'n_sliderWidth': 13,
    		'n_sliderHeight': 12,
    		'n_pathLeft' : 1,
    		'n_pathTop' : 1,
    		'n_pathLength' : 86,
    		's_imgControl': 'red_bg.gif',
    		's_imgSlider': 'red_sl.gif',
    		'n_zIndex': 1
    	}
    	//aggiunta variabile
    	var prezzomin=document.getElementById('sliderValue1').value;
    
    	alert (prezzomin);
    	// fine
    	
    	var A_INIT2 = {
    		's_form' : 0,
    		's_name': 'sliderValue2',
    		'n_minValue' : parseInt(prezzomin),
    		'n_maxValue' : 3000,
    		'n_value' : 3000,
    		'n_step' : 20
    	}
    	new slider(A_INIT2, A_TPL);
                </script> </td>
              </tr>
    
           </table >   
          <input name="submit" type="submit" class="form1"  value="cerca portatile">
    		<input name="page" type="hidden" value="1">   
      </form>
    Grazie tante!

  8. #8
    per cominciare, dichiari DUE VOLTE la variabile A_TPL ... mmmh!

    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  9. #9
    Update:
    Ho dato un'occhiata al codice di slider.js:
    Ad una prima analisi pare che non si possa variare n_minValue una volta che lo slider è stato creato .....

    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  10. #10
    Si infatti lo script di partenza (preso qui su HTML.it) è come tanti altro basato su slider autonomi e non correlati dinamicamente.
    Vedro' di trovare qualcosa che faccia al caso mio.

    Grazie comunque per il supporto

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.