Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Discussione: Abilitare link se....

  1. #11
    Te lo posterò lunedì, ma non è una cosa semplice (non l'ho fatto io, ma ci sto sbattendo adesso io).
    Considera che non lo puoi provare a video, in quanto utilizza codice java.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #12
    Mi avevate chiesto il codice? Eccolo qua:

    codice:
    <script language="javascript">
    function NomeFunzione(){
    	var f = document.myForm;
    	var conta=0;
    	
    	for(i=0; i<f.elements.length; i++)
    	{
    		if((f.elements[i].value != "0" || f.elements[i].value != "")){
    		    alert("conta = "+conta);
    			conta++;
    		} 	
    	}
    	
    	if(conta>=1) {
    		alert(conta);
    		document.getElementById('idLink').style.visibility="visible";
    	} else {
    		document.getElementById('idLink').style.visibility="hidden";
    	}
    
    }
    </script>
    
    <table border="1">
    <form name="NomeForm">
    <tr>
    <td>Livello</td>
    <td>Mesi Utilizzo</td>
    <td>Anno Ultimo Utilizzo</td>
    <td>Mese Ultimo Utilizzo</td>
    </tr>
    <tr>
    <td valign="top" align="center">
    <select name="livello" onchange="NomeFunzione();">
    <option value=""></option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>
    </td>
    <td valign="top" align="center">
    <input type="text" name="mesi_utilizzo" onchange="NomeFunzione();">
    </td>
    <td valign="top" align="center">
    <select name="ultimo_utilizzo_anno" onchange="NomeFunzione();">
    <option value=""></option>
    <option value="2004">2004</option>
    <option value="2003">2003</option>
    <option value="2002">2002</option>
    <option value="2001">2001</option>
    <option value="2000">2000</option>
    </select>
    </td>
    <td valign="top" align="center">
    <select name="ultimo_utilizzo_mese" onchange="NomeFunzione();">
    <option value=""></option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    </select>
    </td>
    </tr>
    <tr>
    <td valign="top" align="center">
    <select name="livello" onchange="NomeFunzione();">
    <option value=""></option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>
    </td>
    <td valign="top" align="center">
    <input type="text" name="mesi_utilizzo" onchange="NomeFunzione();">
    </td>
    <td valign="top" align="center">
    <select name="ultimo_utilizzo_anno" onchange="NomeFunzione();">
    <option value=""></option>
    <option value="2004">2004</option>
    <option value="2003">2003</option>
    <option value="2002">2002</option>
    <option value="2001">2001</option>
    <option value="2000">2000</option>
    </select>
    </td>
    <td valign="top" align="center">
    <select name="ultimo_utilizzo_mese" onchange="NomeFunzione();">
    <option value=""></option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    </select>
    <div id="idLink" style="visibility:hidden">submit</div>
    </td>
    </tr>
    </form>
    </table>
    La funzione che mi hai suggerito non va più bene nella sua forma originale, in quanto i nomi dei campi son diversi e inoltre la variabile conta, se io prima imposto in quasiasi dei 4 campi un valore maggiore di "" o ZERO, deve, si abilitarmi il link del submit, ma se io ripulisco tutti quanti i campi dell'item (select e input), il pulsante deve tornare invisibile e invece non accade, in quanto la variabile "conta" non viene riposta a zero.

    Per fare un test, provare a fare copia/incolla del codice di su (quotando lo stesso, onde evitare gli acapo) per campire come rendere funzionante il tutto secondo le mie esigenze.

    Io intanto continuo a sbattere.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #13
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao maximum,

    il form si chiama NomeForm e nella funzione l'hai chiamato myForm
    questa if che hai fatto
    codice:
    if((f.elements[i].value != "0" || f.elements[i].value != "")){
    non ha senso... è sempre vera! Casomai dovevi metterci una and &&
    prova così
    codice:
    function NomeFunzione(){
    	var f = document.NomeForm;
    	var conta=0;
    	for(i=0; i<f.elements.length; i++)
    		if(parseInt(f.elements[i].value,10)> 0)conta++;
    	if(conta>=1)
    		document.getElementById('idLink').style.visibility="visible";
    	else
    		document.getElementById('idLink').style.visibility="hidden";
    }

  4. #14
    La funzione rivista da te va bene.
    Non va bene applicata alla mia pagina, perchè di fatto sulla stessa ci sono dei campi hidden che hanno una loro inizializzazione.

    Alcuni inizializzati a 0, altri con ID prelevati dal DB, ecc...
    Elements controlla tutto, ma di fatto non mi disabilita la visibilità del pulsante "Salva", probabilmente per questo motivo.

    Come me ne esco?
    Tenendo presente che questi hidden devono necesariamente rimanere inizializzati come sono.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #15
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    potresti controllare solo i text e i select
    codice:
    function NomeFunzione(){
    	var f = document.NomeForm;
    	var conta=0;
    	
    	for(i=0; i<f.elements.length; i++)
    		if(f.elements[i].type=='text'||f.elements[i].type.substr(0,6)=='select')
    			if(parseInt(f.elements[i].value,10)> 0)conta++;
    
    	if(conta>=1)
    		document.getElementById('idLink').style.visibility="visible";
    	else
    		document.getElementById('idLink').style.visibility="hidden";
    }

  6. #16
    Mi sembra ok!!!

    Faccio qualche prova anche con NN e speriamo bene! :tongue:
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #17
    Se invece ho due immagini (una da linkare e l'altra da mostrare sempre, ma non linkabile), come posso modificare lo script (appari/scompari) di sopra ultimo funzionante???

    codice:
    function verifySkillPersona() {
    
    	var f = document.myForm;
    	var conta=0;
    	
    	for(i=0; i<f.elements.length; i++) {
    		//Verifica il tipo di campo
    		if(f.elements[i].type=='text' || 
    		   f.elements[i].type.substr(0,6)=='select') {
    
    		    //Verifica valori maggiori di zero		
    			if(parseInt(f.elements[i].value,10)> 0){
    				conta++;
    			}  	
    		}
    	}
    
    	if(conta>=1) {
    		document.getElementById('idLink').style.visibility="visible";
    		skillModificato = "T";
    	} else {
    		document.getElementById('idLink').style.visibility="hidden";
    		skillModificato = "F";
    	}
    }
    A posto di appari/scompari, insomma eseguire una sorta di rollover....
    Partendo di default dall'immagine non linkata.

    Grazie.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  8. #18
    Posso scrivere:

    codice:
    function eliminaSkill(iSkill) {
    	alert(iSkill);
    	try {
    		document.myForm.livello[iSkill].value = "";
    		document.myForm.mesi_utilizzo[iSkill].value = "";
    		document.myForm.ultimo_utilizzo_anno[iSkill].value = "";
    		document.myForm.ultimo_utilizzo_mese[iSkill].value = "";
    		document.images['butt_save'].src="images/save.gif";
    		alert("Sono nel try");
    		document.getElementById('idLink')[iSkill].style.visibility="hidden";
    		link_abil = true;
    	} catch(e) {
    		//c'e' un solo skill
    		document.myForm.livello.value = "";
    		document.myForm.mesi_utilizzo.value = "";
    		document.myForm.ultimo_utilizzo_anno.value = "";
    		document.myForm.ultimo_utilizzo_mese.value = "";
    		document.images['butt_save'].src="images/save.gif";
    		alert("Sono nel catch");
    		document.getElementById('idLink').style.visibility="hidden";
    		link_abil = true;
    	}
    A me serve nascondere il div corrispondente al'ID (idSkill) invece mi ha a nascondere, se ce ne sono, quello della riga precedente!!!!!

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