|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2001
Messaggi: 64
|
[Javascript] Abilitazione/disabilitazione testo
Salve
Grazie anche all'aiuto di voi ho creato una funzione che, quando l'utente clicca su una riga di una tabella, dinamicamente preleva il testo da un DB e lo visualizza. Ho anche creato una funzione Javascript che mi cancella il contenuto del testo facendolo scomparire ma il problema è che vorrei unire le due cose, ovvero fare in modo che se l'utente clicca 1 volta sulla riga compare il testo mentre se riclicco sempre sulla stessa riga il testo scompare. Come posso fare? Grazie! |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Nel senso che se la riga è vuota fa apparire il testo, altrimenti la svuota soltanto?
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2003
Città: Carozzo(SP) - Monza(MB)
Messaggi: 236
|
creare una variabile booleana che di default setti a 0,
dopo di che esegue la funzione 1 quando ci clicchi la prima volta e una volta finito prima di uscire dalla funzioncina la setti a 1, siccome è a 1 la volta successiva chiamerà la seconda funzioncina e all'uscita la piazza a zero... e così via.... spero di essermi spiegata...
__________________
Sorridi, oggi è il primo giorno del resto della tua vita!
...Se sei incerto tieni aperto... L'ignoranza non ha mai limiti... chi molla è un boia |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Fa prima a controllare il contenuto della riga
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Nov 2003
Città: Carozzo(SP) - Monza(MB)
Messaggi: 236
|
in effetti dovrebbe esserci la funzione isEmpty
oppure se la stringa è nulla o "" fai la funzione 1 altrimenti la 2
__________________
Sorridi, oggi è il primo giorno del resto della tua vita!
...Se sei incerto tieni aperto... L'ignoranza non ha mai limiti... chi molla è un boia |
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Dici una cosa del genere :
Codice:
<html>
<head>
<script type="text/javascript">
var xmlhttp
var url="Test";
function getNote(obj){
if(obj.innerHTML==""){
xmlhttp=null;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest()
}else if (window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}
if (xmlhttp!=null){
xmlhttp.onreadystatechange=function(){handleNote(obj);}
xmlhttp.open("GET",url,true)
xmlhttp.send(null)
}else{
alert("Il browser non supporta XMLHTTP.")
}
}else{
obj.innerHTML="";
}
}
function handleNote(obj){
if (xmlhttp.readyState==4){
if (xmlhttp.status==200){
obj.innerHTML=xmlhttp.status + " " + xmlhttp.responseText
}else{
alert("Errore di connessione :" + xmlhttp.statusText)
}
}
}
</script>
</head>
<body>
<h2>HttpRequest</h2>
<p><b><a href="#" onclick="getNote(document.getElementById('A1'))">Nota:</a></b>
<span id="A1"></span>
</p>
<p><b><a href="#" onclick="getNote(document.getElementById('A2'))">Nota:</a></b>
<span id="A2"></span>
</p>
<table border=1>
<tr>
<td width="100px" onclick="getNote(this);"></td>
</tr>
</table>
</body>
</html>
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Jan 2001
Messaggi: 64
|
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Non posso che accettare...Du Demon gelata!!
|
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Jan 2001
Messaggi: 64
|
ho brindato troppo presto: mi sono accorto che non funziona su IE
le funzioni che utilizzo sono: Codice:
// controlla se l'elemento InnerHTML è vuoto ovvero se deve cancellare una nota o crearla
function checkNote(element)
{
var divID = "box_"+escape(element.id);
if(document.getElementById(divID).innerHTML == "")
{
getNote(element);
}
else
{
clearNote(element);
}
}
// Funzioni per la cancellazione delle note
function clearNote(id_nota)
{
var div_note = "box_"+id_nota.id;
var collezione_div = document.getElementById(div_note);
collezione_div.innerHTML = "";
}
// Funzioni per il recupero di una nota 1/2
function getNote(element)
{
createXMLHttpRequest();
var url = "modules.php?op=modload&name=meyer_assistenza&file=note&key_note=" + escape(element.id);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = function(){handleNote(element.id);};
xmlHttp.send(null);
}
// Funzioni per il recupero di una nota 2/2
function handleNote(id_n)
{
if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
var divID = "box_"+id_n;
document.getElementById(divID).innerHTML = xmlHttp.responseText;
}
}
}
1) fallisce l'IF nella funzione checkNote: in firefox l'oggetto document.getElementById(divID).innerHTML è vuoto mentre in IE contiene il valore "<tbody></tbody>" 2) non esegue l'assegnazione "document.getElementById(divID).innerHTML = xmlHttp.responseText;" in handleNote: recupera correttamente i dati (se stampo con un alert xmlHttp.responseText ottengo i dati ritornati dal server) ma mi da un errore sull'assegnamento (MicrosoftScriptDebugger dice "Errore di runtime sconosciuto") Sapete come correggerli? |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Sep 2007
Messaggi: 754
|
Maledetto IE...do un occhio e ti fo sapere
|
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Jan 2001
Messaggi: 64
|
ho trovato dove era l'errore!
La pagina è strutturata in questo modo: c'è una tabella nella quale vengono create dinamicamente le righe delle richieste, per ogni riga avevo inserito un ulteriore tabella nella quale il javascript doveva inserire le note ed ha IE dava noia questo annidiamento di tabelle. Ho risolto mettendo la tabella delle note dentro un DIV. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:45.




















