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.![]()
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!
Mi avevate chiesto il codice? Eccolo qua:
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.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>
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!
Ciao maximum,
il form si chiama NomeForm e nella funzione l'hai chiamato myForm
questa if che hai fatto
non ha senso... è sempre vera! Casomai dovevi metterci una and &&codice:if((f.elements[i].value != "0" || f.elements[i].value != "")){
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"; }![]()
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!
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"; }![]()
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!
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???
A posto di appari/scompari, insomma eseguire una sorta di rollover....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"; } }
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!
Posso scrivere:
A me serve nascondere il div corrispondente al'ID (idSkill) invece mi ha a nascondere, se ce ne sono, quello della riga precedente!!!!!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; }![]()
Why???![]()
Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!