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

    [JQuery] accedere ad un elemento appena aggiunto

    utilizzo jquery per aggiungere un form con diversi campi nella mia pagina in un div ed uso:
    codice:
    myhtml = "";
    myhtml += "<form id='myform'>";
    myhtml += "h = <input type='text' id='h' name='h' size='30' value=''/>";
    myhtml += "<input type='submit' value='modifica' /></form>";
    
    $("#mydiv").html(myhtml);
    a questo punto vorrei cambiare lo sfondo del form appena inserito con:
    codice:
    $("#myform").css("background","#FF0");
    ma non accade proprio nulla.
    Penso che il form aggiunto successivamente non sia selezionabile da jquery, o almeno io non so come si fa
    C'è un modo per risolvere questo problema?
    "tu ti lamenti ma che ti lamenti pigghia lu bastuni e tira fora li denti!!!"
    DONNA IDEALE
    http://bloghdad.splinder.com/
    http://www.spinoweb.com/
    http://www.aeroportodelleeolie.it/

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, ho provato questo codice (copiato il tuo più o meno) e funziona:

    codice:
    <input type="button" value="a" onclick="clone()">
    <div id="mydiv"></div>
    nel file js
    codice:
    function clone(){
    	myhtml = "";
    myhtml += "<form id='myform'>";
    myhtml += "h = <input type='text' id='h' name='h' size='30' value=''/>";
    myhtml += "<input type='submit' value='modifica' /></form>";
    
    $("#mydiv").html(myhtml);
    $("#myform").css("background","#FF0");
    }
    Lo sfondo diventa giallo

  3. #3
    Ho provato a semplificare il mio problema, ma penso che sia meglio che descrivo brevemente il mio script:

    1. la mia pagina index.html contiene un div:
    codice:
    <div id='mydiv'></div>
    2. con $.getJSON ottengo l'html per #mydiv:
    codice:
       qs = "json.php";
       $.getJSON(qs, function(json) {
               $("#mydiv").html(json.body);
       });
    I dati ottenuti con JSON sono l'html che contiene il form #myform:
    codice:
    <form id='myform' action='json.php?a=mod' method='post'>
          h = <input type='text' id='h' name='h' size='30' value=''/>
          <input type='submit' value='modifica' />
    </form>
    3. Fatto ciò, vorrei usare il plugin jquery.form.js per inviare una richiesta ajax con #myform:
    codice:
                 var options = { 
                  dataType:       'json',
                  beforeSubmit:   sewt_validate,
                  success:        sewt_success
                }; 
                $('#myform').ajaxForm(options);
    e le funzioni sewt_validate e sewt_success sono (copiate del sito del plugin):

    codice:
    function sewt_validate(formData, jqForm, options) { 
            for (var i=0; i < formData.length; i++) { 
            if (!formData[i].value) { 
                alert('Please enter a value for all fields'); 
                return false; 
            } 
        } 
        alert('All fields contain values.'); 
    }
    
    function sewt_success(data, status)  { 
              if(status == 'success') {            
                $("#mydiv").html(data.body);
              }
    }
    Adessp la richiesta ajax non funziona. penso sia perchè jquery non vede #myform e io non posso farne il bind ($('#myform').ajaxForm(options);).
    Quando clicco su 'modifica', la pagina json.php si apre direttamente con la risposta corretta, ma io vorrei che fosse una richiesta ajax per ottenere l'html da mettere ancora nel #mydiv
    "tu ti lamenti ma che ti lamenti pigghia lu bastuni e tira fora li denti!!!"
    DONNA IDEALE
    http://bloghdad.splinder.com/
    http://www.spinoweb.com/
    http://www.aeroportodelleeolie.it/

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, mai usato questo plugin. Stavo guardando qui http://malsup.com/jquery/form/#api mi pare lo stesso. Non e' che ti serve usare ajaxSubmit per simulare il submit sul form? mentre ajaxForm pensa a fare solo i controlli?

  5. #5
    Originariamente inviato da m4rko80
    Ciao, mai usato questo plugin. Stavo guardando qui http://malsup.com/jquery/form/#api mi pare lo stesso. Non e' che ti serve usare ajaxSubmit per simulare il submit sul form? mentre ajaxForm pensa a fare solo i controlli?
    mi hai messo sulla giusta strada... ho usato ajaxsubmit e contemporaneamento ho fatto il bind con il plugin livequery: funziona!

    codice:
         $("#myform").livequery(function(){
        //ajax submit
            var options = { 
            target:        '#mydiv',   // target element(s) to be updated with server response 
            dataType:            'json',
            beforeSubmit:  showRequest,  // pre-submit callback 
            success:       showResponse  // post-submit callback 
     
            // other available options: 
            //url:       url         // override for form's 'action' attribute 
            //type:      type        // 'get' or 'post', override for form's 'method' attribute 
            //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
            //clearForm: true        // clear all form fields after successful submit 
            //resetForm: true        // reset the form after successful submit 
     
            // $.ajax options can be used here too, for example: 
            //timeout:   3000 
        }; 
     
        // bind to the form's submit event 
        $('#myform').submit(function() { 
            // inside event callbacks 'this' is the DOM element so we first 
            // wrap it in a jQuery object and then invoke ajaxSubmit 
            $(this).ajaxSubmit(options); 
     
            // !!! Important !!! 
            // always return false to prevent standard browser submit and page navigation 
            return false; 
        });
      });
    "tu ti lamenti ma che ti lamenti pigghia lu bastuni e tira fora li denti!!!"
    DONNA IDEALE
    http://bloghdad.splinder.com/
    http://www.spinoweb.com/
    http://www.aeroportodelleeolie.it/

  6. #6
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ottimo dai Ho cercato per curiosita' il plugin

  7. #7
    Originariamente inviato da m4rko80
    Ottimo dai Ho cercato per curiosita' il plugin
    http://malsup.com/jquery/form/
    http://docs.jquery.com/Plugins/livequery

    "tu ti lamenti ma che ti lamenti pigghia lu bastuni e tira fora li denti!!!"
    DONNA IDEALE
    http://bloghdad.splinder.com/
    http://www.spinoweb.com/
    http://www.aeroportodelleeolie.it/

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.