Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    46

    Problema numeri/lettere

    Allora, ho un problemino con questo script:

    codice:
    <script type="text/javascript" language="javascript">
        var http_request = false;
    
        function makeRequest(getvar) {
    
            http_request = false;
            if (window.XMLHttpRequest) { // Mozilla, Safari,...
                http_request = new XMLHttpRequest();
                if (http_request.overrideMimeType) {
                    //http_request.overrideMimeType('text/xml');
                    // See note below about this line
                }
            } else if (window.ActiveXObject) { // IE
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }
    
            if (!http_request) {
                alert('Giving up :( Cannot create an XMLHTTP instance');
                return false;
            }
            http_request.onreadystatechange = function(){
    		scrivi(getvar);
    	}
            http_request.open('POST', 'update.php', true);
    	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    	postvar="campo="+getvar+"&value="+eval("document.forms.dinamicform."+getvar+".value");
            http_request.send(postvar);
    
        }
    
        function scrivi(getvar) {
    	
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
    		document.getElementById(getvar).innerHTML = "<a href=\"javascript:void(null);\" onclick=\"change(this,'"+getvar+"')\">"+eval("document.forms.dinamicform."+getvar+".value")+"</a>";
    		document.getElementById("result").innerHTML = http_request.responseText;
                } else {
                    alert('There was a problem with the request.');
    		
                }
            }
    
        }
        function change(link,textname){
             //link.innerText e link.text sono stessa cosa, c'è differenza tra ie e firefox
    	if(link.innerText){testovecchio=link.innerText}else{testovecchio=link.text}
    	//riscrivo il contenuto del div
    	document.getElementById(textname).innerHTML="<input type='text' name='"+textname+"' value='"+testovecchio+"'> <input type='button' value='ok' onclick=\"makeRequest(\'"+textname+"\')\">";
        }
    </script>
    Questo è lo script che stò usando e funziona correttamente se vado ad inserire nell'html:

    codice:
    <form name="dinamicform">
    <div id="baait">ita</div>
    <div id="nascita">18</div>
    </form>
    Ora, ho necessità di sostituire ai nomi degli id anziche caratteri numeri, ecco lo stesso codice riscritto come lo devo utilizzare:

    codice:
    <form name="dinamicform">
    <div id="111">ita</div>
    <div id="222a">18</div>
    <div id="222b">prova</div>
    </form>
    Non capisco perchè appena cambio il nome del div da caratteri a numeri non funziona più nulla, qualcuno mi può aiutare???
    Grazie
    Ludovico

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Gli id non posso iniziare con un numero al massimo puoi fare cosi _1 _2 _3 etc....
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    46
    Grazie mille, capiscimi, sono alle prime armi
    Ne approfitto della tua/vostra gentilezza per un altro problema di questo script, cioè, se passo una frase con all'interno ' mi taglia la frase in quel punto es:

    <div id="m_222b">L'allenatore</div>

    Cliccandoci sopra non mi fa modificare L'allenatore ma L e basta, è possibile sistemare la cosa???
    Grazie ancora
    Ludovico

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    l'apostrofo in javascript viene rilevato come limitatore di stringa tipo 'testo stringa' per ovviare devi anteporre un backslash (barra rovesciata) cosi \'
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    46
    Ho modificato il codice così:
    codice:
       function change(link,textname){
             //link.innerText e link.text sono stessa cosa, c'è differenza tra ie e firefox
    	if(link.innerText){
    	testovecchioo=link.innerText;
    	testovecchio=testovecchioo.replace("'", "\\'");
    	}else{
    	testovecchioo=link.text;
    	testovecchio=testovecchioo.replace("'", "\\'");
    	}
    	//riscrivo il contenuto del div
    	document.getElementById(textname).innerHTML="<input type='text' name='"+textname+"' value='"+testovecchio+"'> <input type='button' value='ok' onclick=\"makeRequest(\'"+textname+"\')\">";
        }
    Ma nulla da fare, aiuto???
    Grazie Ludovico

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    46
    ho risolto semplicemente sostituendo
    codice:
    	document.getElementById(textname).innerHTML="<textarea name=\""+textname+"\">"+testovecchio+"</textarea> <input type='button' value='ok' onclick=\"makeRequest(\'"+textname+"\')\">";

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.