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

    Funzione onchange che non va per alcune condizioni.

    codice:
    function cambiaStRevisione(iSkill){
    
    	if(arr_skills[iSkill][7]!="D") {
    		arr_skills[iSkill][7]="D";
    		if(iSkill == 0) {
    			document.myForm.stato_record.value = arr_skills[iSkill][7];
    		} else {
    			document.myForm.stato_record[iSkill].value = arr_skills[iSkill][7];	
    		}
    	}
    }
    Questa funzione è richiamata da alcuni campi select/option e da alcuni campi input type.
    L'indice iSkill viene usato in quanto trattasi di una maschera i cui campi menzionati sono generati tramite ciclo e quindi indicizzati.
    Il problema si pone quando mi trovo N righe con N campi prodotti a video.
    Se cambio uno solo di questi in cui la funzione di sopra è richiamata, non mi esegue il controllo (prcisamente non entra nell'else di sopra).
    Mentre se la maschera mi presenta solo una riga con quindi solo alcuni campi l'onchange funzione in quanto entra nell'if.
    Sto uscendo pazzo e vorrei risolvere quanto prima, se qualcuno ci capisce (tenendo conto anche della compatibilità con NN), mi fa un grosso favore.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non e` chiaro cosa passi alla funzione. Cioe` con che parametri chiami tale funzione. E come deve comportarsi nei vari casi.

    Inoltre viene usata una matrice a 2 dimens di cui viene testata la colonna 7 di ogni riga. Immagino che in tale colonna ci sia un codice che puo` essere D o un altro carattere.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Originariamente inviato da Mich_
    Inoltre viene usata una matrice a 2 dimens di cui viene testata la colonna 7 di ogni riga. Immagino che in tale colonna ci sia un codice che puo` essere D o un altro carattere.
    Esatto hai centrato il problema.
    Quando lo script non va quando mi trovo N item e provo a fare onchange sul primo (quindi array = 0).
    Sugli altri ok (quindi array = 1 per il secondo item, array = 2 per il terzo item, ecc...)
    Se invece mi trovo solo un item (quindi array = 0), l'onchange viene eseguito.

    Mi sono spiegato meglio o no?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    dovresti postare qualcosa in più...
    tipo arr_skills e il form

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ancora non mi basta.

    Cosa passi alla funzione?

    E ancora: che tipo di campo e` quello il cui nome e` stato_record ?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Incredibile, ho cambiato così e funziona:

    codice:
    	if(arr_skills[iSkill][7]!="D") {
    		arr_skills[iSkill][7]="D";
    
    		try {
    			document.myForm.stato_record[iSkill].value = arr_skills[iSkill][7];	
    		} catch(e) {
    		//c'e' un solo skill
    			document.myForm.stato_record.value = arr_skills[iSkill][7];	
    		}
    	}
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.