Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    checkbox passare dati ad una pagina remota

    Ciao A tutti
    qualcuno di voi mi sa dire come posso passare il valore di 1 checkbox alla sua selezione ad una pagina "remota" ...
    mi spiego...

    - Ho una lista di checkbox
    - seleziono 1 checkbox
    - alla selezione scateno 1 evento che passa 1 valore alla pagina PIPPO.PHP

    - nella pag pippo.php eseguo 1 query al DB

    in sostanza vorrei evitare di mettere il tastino submit....
    Tanto...lo fanno tutti... posso farlo anche io vero?

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    codice:
    <form name="mioform" action="..." method="...">
    <input type="checkbox" name="nome" value="pippo" onclick="document.mioform.submit()">
    </form>

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    Si Grazie della info

    Mi sono dimenticato una cosa...vorrei non fare il refresh della pagina....mi piacerebbe fare una chiamata ad una pagina "nascosta" che mi esegue una query, evitando così il refresh della pagina
    Tanto...lo fanno tutti... posso farlo anche io vero?

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Si Grazie della info
    beh

    se ti dimentichi questi 'piccoli particolari' ...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    lascia stare la pagina nascosta! hanno inventato ajax apposta ... però la cosa si complica se scegli questa via!

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da dottwatson
    beh

    se ti dimentichi questi 'piccoli particolari' ...

    effettivamente, se si dimenticano questi "piccoli particolari insignificanti", la cosa cambia aspetto.
    E' chiaro che la risposta è una sola: ajax. Con la pagina nascosta si può fare certo, ma è un poco più complicato ed è un "tornare indietro" invece che "andare avanti".

    Con ajax è "banale". Basta naturalmente avere la giusta libreria. Da qui puoi scaricarti abc.js

    http://webreflection.blogspot.com/20...asic-call.html


    L'esempio di codice è pure banale. Uso una pagina asp.net, linguaggio c# lato server. Tu puoi utilizzare la parte client ed usare php per la parte server.
    codice:
    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        protected void Page_Load(object sender, EventArgs e)
        {
            string comando_ajax = this.Request.QueryString["comando_ajax"];
            if (comando_ajax == "1")
            {
                string Checkbox1 = this.Request.Form["Checkbox1"];
                this.Response.Write("Checkbox1 era " + Checkbox1 );
                this.Response.End();
                
            }
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>
    <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    
    function Checkbox1_onclick(v) 
    {
        var url = "?comando_ajax=1";
        var parametri = {colore:"rosso", numero:999, Checkbox1:v.checked};
        parametri.onLoad = onload;
        parametri.onError = onerror;
        
        ABC(parametri, url);
        
        function onload(request, elapsedTime)
        {
            alert(request.responseText);
        }
        
        function onerror(xhr, elapsedTime)
        {
            alert("Errore di trasmissione: " + xhr.status);
        }
        
    }
    
    // ]]>
    </script>
        
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <label for="Checkbox1">Chiamata server con ajax:</label><input id="Checkbox1" type="checkbox" onclick="return Checkbox1_onclick(this)" />
        </div>
        </form>
    </body>
    </html>
    
    <script type="text/javascript">
    /** ABC - Ajax Basic Call
     * @author  Andrea Giammarchi
     * @site        www.devpro.it */
    ABC = (function(ABC){
        return  function(data, url, async, user, pass){
            var time    = new Date,
                abc     = ABC(),
                send    = [],
                key     = null;
            if(data){
                for(key in data)
                    if(typeof data[key] !== "function" && data.hasOwnProperty(key)){
                        if(data[key] instanceof Array)
                            for(var i = 0; i < data[key].length; i++)
                                send.push(encodeURIComponent(key).concat("=", encodeURIComponent(data[key][i])));
                        else
                            send.push(encodeURIComponent(key).concat("=", encodeURIComponent(data[key])));
                    }
                key = 0 < send.length ? send.join("&") : null;
            };
            abc.open(
                key !== null ? "POST" : "GET",
                url,
                async = async === undefined ? true : !!async,
                user !== undefined && user,
                pass !== undefined && pass
            );
            abc.setRequestHeader("If-Modified-Since", "Mon, 26 Jul 1997 05:00:00 GMT");
            abc.setRequestHeader("Cache-Control", "no-cache");
            abc.setRequestHeader("X-Requested-With", "XMLHttpRequest");
            if(key !== null)
                abc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            if(async)
                abc.onreadystatechange= function(){
                    if(abc.readyState === 4 && data){
                        key = /^(2|3)[0-9]{2}$/.test(abc.status) ? "onLoad" : "onError";
                        if(typeof data[key] === "function")
                            data[key](abc, new Date - time);
                    }
                };
            abc.send(key);
            return  abc;
        };
    })(this.XMLHttpRequest ?
        function(){return new XMLHttpRequest;} :
        function(){return new ActiveXObject("Microsoft.XMLHTTP");}
    );
    </script>
    Pietro

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.