Newsgroup: it.comp.lang.javascript
Titolo: SELECT + INPUT

Ciao a tutti,
avrei bisogno di un aiuto, e ringrazio in anticipo chi possa venirmi
incontro, dunque.... all'interno di un form ho due campi:  uno di tipo
SELECT e uno di tipo INPUT (inizialmente non visibile).
All'interno della SELECT ho dei valori e fra questi il valore "ALTRO".
Ora, quello che vorrei fare è che l'utente, nel momento in cui seleziona
dalla SELECT il valore "ALTRO" venga visualizzato il campo INPUT, dove
appunto può inserire un altro valore.
Il valore quindi inserito sul campo INPUT dovrà essere assegnato alla
SELECT.
Grazie ancora, e rimango in attesa di riscontri.
Cooper.
PS: Non so se è possibile con javascript... mi chiedevo è possibile avere
una SELECT che funzioni anche da INPUT?
Cioè mi spiego meglio, un campo dove l'utente può inserire un valore a suo
piacimento (INPUT) e al tempo stesso, cliccando sulla freccetta verso il
basso visualizzare dei valori di default ? Se è possibile questo, è ancora
meglio, rispetto a quanto chiesto sopra.
-- 
BlueWare WebAgency
 [web] 
http://www.blueware.it
 
http://www.italchat.it
 [icq] 146781935

 meglio, rispetto a quanto chiesto sopra.
Vedi troppi film di Bill Gates.
Ciaooooooo
P.S. Le cose non sono state testate. Fallo tu! :-)
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Grazie mille, provo subito, cmq quello a cui mi riferivo, si trova (un
esempio) su dreamweaver, pensavo che si poteva fare qualcosa del genere. :)
Grazie ancora ti farò sapere.
Cooper.


 ha scritto nel messaggio
news:8d4b0cb2ecdb15f8774...@mygate.mailgate.org...
Ciao, ho provato cosi:
..............
..............
<script language="javascript" type="text/javascript">
function abilitaInput()
{
  var index = document.form1.selection.selectedIndex;
  var valore = document.form1.selection.options[index].value;
  if (valore == "altro")
  {
    document.getElementById('textfield').style.visibility='visible';
    document.getElementById('textfield').focus();
  }
}
function cambiaValoreAltro()
{
  var index = document.form1.selection.selectedIndex;
  var i_len = document.form1.selection.options.length;
  valore_value = document.getElementById('textfield').value;
  valore_testo = "altro";
  document.form1.selection.options[index] = new Option(ds,id);
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
  <select name="selection" size="1" onChange="abilitaInput()" >
    <option value="1" selected>1</option>
    <option value="2">2</option>
    <option value="altro">altro</option>
  </select>
  <input type="text" name="textfield">
</form>
</body>
.............
............
Ma non funziona, cmq non ho capito come devo richiamare
"CambiaValoreAltro()" ma questo è un secondo problema.
Grazie ancora, rimango in attesa di riscontri.
Cooper
PS: per rendere la INPUT invisibile?


----------------------------CUT&PASTE-----------------------------------
<html>
<head>
<title></title>
<script language="javascript" type="text/javascript">
function verificaValore()
{
  var index = document.form1.selection.selectedIndex;
  var valore = document.form1.selection.options[index].value;
  alert(valore);
}
function abilitaInput()
{
  var index = document.form1.selection.selectedIndex;
  var valore = document.form1.selection.options[index].value;
  if (valore == "altro")
  {
    document.getElementById('textfield').style.visibility='visible';
    document.getElementById('buttonfield').style.visibility='visible';
    document.getElementById('textfield').focus();
  }
}
function cambiaValoreAltro()
{
  var index = document.form1.selection.selectedIndex;
  var i_len = document.form1.selection.options.length;
  valore_value = document.getElementById('textfield').value;
  valore_testo = "altro";
  document.form1.selection.options[index] = new
Option(valore_testo,valore_value);
    document.getElementById('textfield').style.visibility='hidden';
    document.getElementById('buttonfield').style.visibility='hidden';
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
  <select name="selection" size="1" onChange="abilitaInput()">
    <option value="001" selected>1</option>
    <option value="002">2</option>
    <option value="altro">altro...</option>
  </select>
  <input type="text" name="textfield" style="visibility:hidden;">
  <input type="button" name="buttonfield" value="Ok"
onClick="cambiaValoreAltro()" style="visibility:hidden;">
</form>
<input type="button" value="Verifica il valore"
onClick="verificaValore()">
</body>
</html>
------------------------------END CUT&PASTE-----------------------------



Ok grazie mille, rimane però l'ultimo problema e cioè che dopo aver scelto
"ALTRO" e quindi appare il INPUT + OK  e decido di inserire un altro valore,
il campo INPUT e il button OK rimangono visibili, mentre dovrebbero
nascondersi nuovamente.
Avevo pensato di inserire un ELSE con i valori hidden al posto di visible,
ma non funziona, nella funzione "abilitainput()".
Ti ringrazio ancora, e rimango in attesa di riscontri.
Cooper.


lo fa la function "cambiaValoreAltro()", che viene richiamata dal
pulsante "OK"...
:?



Vero lo fa, il pulsante OK, però dovrebbe anche funzionare se cambio il
valore della SELECT da "ALTRO" a un altro valore, cioè se seleziono 1 o 2,
dovrebbe scomparire di nuovo.
Ho provato richiamando la funzione all'interno della SELECT con gli eventi
ma nulla, mi puoi dare per cortesia qualche dritta?
In attesa di riscontri ti ringrazio nuovamente.


function abilitaInput()
{
  var index = document.form1.selection.selectedIndex;
  var valore = document.form1.selection.options[index].value;
  if (valore == "altro")
  {
    document.getElementById('textfield').style.visibility='visible';
    document.getElementById('buttonfield').style.visibility='visible';
    document.getElementById('textfield').focus();
  }
  else
  {
    document.getElementById('textfield').style.visibility='hidden';
    document.getElementById('buttonfield').style.visibility='hidden';
  }
}



Ok grazie mille :) Adesso è tutto ok ^_^
