Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: text list dinamiche

  1. #11
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    ma a te la funzione presub(aform) funziona?

    poi ho provato a verificare l'errore con Firefox.
    Lo script cambia tutte le funzioni.
    ti conviene fare un test.

    Grazie comunque.

  2. #12
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,373
    Originariamente inviato da agenti
    ma a te la funzione presub(aform) funziona?

    poi ho provato a verificare l'errore con Firefox.
    Lo script cambia tutte le funzioni.
    ti conviene fare un test.

    Grazie comunque.
    Funge sia su IE 6.0 che su FF 0.93

    Win 2000
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #13
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,373
    Testato adesso sul mio PC di casa.

    Win XP SP2

    IE 6.0.2900 -> Nessun problema

    FF 1.0.6 -> Problema sulla cancellazione in 's1'

    Ma in entrambi casi i dati sono passati correttamente alla seconda pagina.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #14
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    mhhhhhhh

    forse è meglio che approfondisco la cosa...

  5. #15
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    questo è il codice html....
    purtroppo la funzione presub sembra non funzionare infatti i parametri non passano, devo obbligatoriamente selezionarli.

    codice:
    <script language="JavaScript" type="text/javascript">
    <!--
    function sposta(sel1,sel2) {
     if (sel1.selectedIndex < 0) {
      return;
     } // if (sel1.selectedIndex < 0)
     //-------- Ricavo la riga selezionata
     var oCurOption    = sel1.options.item(sel1.selectedIndex);
     //-------- Creo una nuova opzione
     var oOption       = document.createElement("OPTION");
     //-------- La aggiungo alla seconda select
     sel2.options.add(oOption);
     //-------- Assegno i valori della prima select alla seconda
     oOption.value     = oCurOption.value; 
     oOption.innerText = oCurOption.innerText ;	
     //-------- Elimino la riga spostata
     elimina(sel1);
    } // function sposta(sel1,sel2)
    
    function elimina(unSelect) {
     if (unSelect.selectedIndex < 0) {
      return;
     } // if (unSelect.selectedIndex < 0)
     unSelect.options.remove(unSelect.selectedIndex)
    } // function elimina(unSelect)
    
    function preSub(aForm) {
     indice  = 0;
     oSelect = document.getElementById('s2');
     nbElem  = oSelect.length;
     for (i=0;i<nbElem;i++) {
      curOption       = oSelect.options.item(i);
      var hiddenVar   = document.createElement('INPUT');
    	hiddenVar.name  = 's['+indice+']';
    	hiddenVar.type  = 'hidden';
    	hiddenVar.value = curOption.value;
      aForm.appendChild(hiddenVar);
    	indice++;
     } // for (i=0;i<nbElem;i++)
     return true;
    } // function preSub()
    
    //-->
    </script>
    <form method="POST" action="insert.asp"  onsubmit="return preSub(this)">
    
    <select id="s1" size="16" name="valori1" onclick="sposta(document.getElementById('s1'),document.getElementById('s2'))" >
    <option>Afghanistan </option>
    <option>Albania</option>
    <option>Algeria</option>
    <option>Andorra</option>
    </select>
    <input type="button" value="AGGIUNGI--&gt;" onclick="sposta(document.getElementById('s1'),document.getElementById('s2'))"><input type="button" value="&lt;--ELIMINA" onclick="sposta(document.getElementById('s2'),document.getElementById('s1'))">
    <select id="s2" size="16" name="destinazione" multiple>
    <option value="5">[---------------------------------]</option>
    </select>
    <input type="button" value="CANCELLA TUTTI" onclick="elimina(document.getElementById('s2'))"></td>
    				</tr>
    			</table>
    			</td>
    		</tr>
    	</table>
    	
    
    <input type="submit" value="Invia" name="B1"><input type="reset" value="Reimposta" name="B2"></p>
    	<input type="hidden" name="catalogo" value="ok">
    </form>
    a me sembra tutto ok...
    ciao.

  6. #16
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    ho capito il problema...

    hiddenVar.name = 's['+indice+']';

    cosi tu crei un input in un ciclo di nome s(i)
    io invece necessito di un <input name="destinazione">
    infatti ho modificato così:

    function preSub(aForm) {
    indice = 0;
    oSelect = document.getElementById('s2');
    nbElem = oSelect.length;
    for (i=0;i<nbElem;i++) {
    curOption = oSelect.options.item(i);
    var hiddenVar = document.createElement('INPUT');
    hiddenVar.name = 'destinazione';
    hiddenVar.type = 'hidden';
    hiddenVar.value = curOption.value;
    aForm.appendChild(hiddenVar);
    indice++;
    } // for (i=0;i<nbElem;i++)
    return true;
    } // function preSub()

    dato che il modulo di ricezione splitta la stringa post ricevuta in un array non ho bisogno di indicizzare i valori "destinazione" con una name diverso.

    Comunque la modifica che ho fatto mi invia dati vuoti...
    ovvero

    se sposto due valori da s1 a s2 esempio
    Angola
    Andorra

    il form invia solo= , ,

  7. #17
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    up...

  8. #18
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,373
    Infatti non dai nessun valore alle tue opzioni. Quindi quella proprietà è vuota (salvo per l'elemento '---------------')
    Poi creavi tante volte lo stesso input hidden. L'avevo messo nel ciclo perche riempivo un array. Mentre x te deve stare fuori.

    Prova cosi
    codice:
    function preSub(aForm) { 
     var hiddenVar  = document.createElement('INPUT'); 
     hiddenVar.name = 'destinazione'; 
     hiddenVar.type = 'hidden'; 
     aForm.appendChild(hiddenVar); 
     arrX           = new Array();
     //
     indice = 0; 
     oSelect = document.getElementById('s2'); 
     nbElem = oSelect.length; 
     for (i=0;i<nbElem;i++) { 
      curOption = oSelect.options.item(i); 
    	if (curOption.value != '') {
       arrX[i]   = curOption.value;
    	} else {
    	 arrX[i]   = curOption.text;
    	}
      indice++; 
     } // for (i=0;i<nbElem;i++)   
     hiddenVar.value =  arrX.toString();
     alert(hiddenVar.value);
     return true; 
    } // function preSub()
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #19
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    tutto funzia...
    carino anche l'alert
    Grazie.

  10. #20
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    ancora una cosa...

    su ff ancora da un errore:


    su aggiungi:

    Errore: unSelect.options.remove is not a function
    File sorgente: http://localhost/etc.asp

    Riga: 38
    unSelect.options.remove(unSelect.selectedIndex)

    e non passa il valore da s1 a 2.

    ciao.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.