Visualizzazione risultati 1 fino 12 di 12

Discussione: [AJAX]Dentro o fuori table?

  1. #1
    Guest

    Predefinito [AJAX]Dentro o fuori table?

    Codice HTML:
    <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', 'admin/mode_blocks_save.php', true);
        http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        postvar="campo="+getvar+"&value="+eval("document.forms.dinamicform."+getvar+".value")+"&idblck=12";
            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="<textarea name='"+textname+"' value='"+testovecchio+"'>"+testovecchio+"</textarea> <input type='button' value='ok' onclick=\"makeRequest(\'"+textname+"\')\">";
        }
    </script>
    
    
    <table>
    <form name="dinamicform">
    <div id="content"><a href="javascript:void(null);" onclick="change(this,'content')">Cambia Contenuto</a></div>
    </form>
    <br/>
    <br/>
    <div id="result">Nuovo contenuto</div>
    </table>
    
    Questo script funziona alla grande,fuori dal tag table,ma se metto il form dentro la tag table non manda il request alla pagina php....
    Come fare?
    Ultima modifica di svacant : 11-04-2007 alle ore 13.49.46

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    perché esiste quel TABLE ? O_O

    (btw, sostituisci il javascript:void con un # e fai ritornare false a change() che èèèèè meglio)

  3. #3
    Guest

    Predefinito

    Lo script mi serve per metterlo dentro una pagina web,carcerata con tabella.

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    boh, non capisco proprio il codice che hai scritto ecco... se vedo table, mi aspetto che dentro ci siano thead/tbody/tr/td, non div. Comunque, lo script è giusto e meglio se non sta nella tabella, ma fuori, magari addirittura in un file esterno. Solo la chiamata a funzione sta li.

    Altra cosina: le chiamate di eventi passano automaticamente l'elemento chimante come this (o era self?) Così ti risparmi il rigiro del getElementById se vuoi.

  5. #5
    Guest

    Predefinito

    Sì, era this :P
    Non capisco il perchè della tabelle appunto , anche se a me ajax funziona perfettamente se lo metto in un tag <table>

  6. #6
    Guest

    Predefinito

    Io non sono tanto bravo col javascript e quindi questo script l'ho preso su un sito web che lo recensiva.
    Cercavo solo uno script per modificare un campo,l'ho trovato ma dentro un tag table me dà buca :(.

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Comincia a costruire una tabella vera. Se non le sai fare, qui puoi trovare una guida.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    tabella o non tabella, non è che il codice javascript debba stare dove lo si vuole eseguire. E' anzi pessima pratica metterlo all'interno della pagina, quindi prima sposta il codice nell'HEAD o in un file esterno (richiamato dall'head) e poi ne riaparliamo. Poi, js dovrebbe funzionare ovunque. L'importante è che la chiamata di una funzione avvenga dopo che la funziona è stata definita

  9. #9
    Guest

    Post

    Quello script che ho postato è solamente uno spezzone,ma nella pagina in cui ho provato il tutto è messo correttamente.
    Cioè,lo script in javascript è frà i tag head,e il call è messo dentro una tabella costruita correttamente,e non funziona.

    Edit:Ho riguardato il codice,un piccolo errore,ho lasciato un tag aperto,e vabbè pazienza,credo che dovreste picchiarmi con una sbarra!.
    Ultima modifica di svacant : 12-04-2007 alle ore 14.23.49

  10. #10
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    beh, non funziona ma quali errori ti da' ? la console javascript cosa dice? o Firebug, o Console^2

    se la pagina è su, ci dai un link ?

  11. #11
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da dreadnaut
    beh, non funziona ma quali errori ti da' ? la console javascript cosa dice? o Firebug, o Console^2

    se la pagina è su, ci dai un link ?
    Credo abbia risolto:
    Citazione Originalmente inviato da svacant
    Edit:Ho riguardato il codice,un piccolo errore,ho lasciato un tag aperto,e vabbè pazienza,credo che dovreste picchiarmi con una sbarra!.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  12. #12
    Guest

    Predefinito

    Sapete che poi non l'ho usato?.
    Sto sviluppando la nuova versione del mio cms,ho pensato che un pò di ajax non guasti,ma è meglio poco e non troppo.
    :D

    [PICCOLO OT]
    Mi serviva un editor wysiwyg in grado di editare pure i fogli stile nè esiste qualcuno?
    [/Fine]
    Ultima modifica di svacant : 12-04-2007 alle ore 21.08.29

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •