Newsgroup: it.comp.lang.javascript
Titolo: jquery, ajax form, e dialog

ditemi sono le e' possibile inviare un form via xhr
presente in una pagina caricata via ajax (.load()) in una modale
(con .dialog())
(e' piu' facile di quel che sembri! :-)
poi magari ne parliamo... grazie
:-)
ciao
Rob

 (e' piu' facile di quel che sembri! :-)
si è facile, ma qual'è il problema che vuoi risolvere?

 si è facile, ma qual'è il problema che vuoi risolvere?
ah bene. :-)
cmq un giorno di lavoro appresso a questa cosa.
sono arrivato a questo punto...
ho due pagine
lista.cfm (la solida lista di record)
dettaglio.cfm (il dettaglio del record che si apre nella modale al
click sul record)
su lista.cfm ho fatto cosi':
<script>
$(document).ready(function(){
	$('.misure').bind('click', function() {
		art=$(this).attr("tb:valore");
		ele=$("<div></div>");
		$(ele).attr("id", "art_"+art);
		$(ele).attr("title", "Quantita' in magazzino per " + art);
		$(ele).load('articoli_magazzino.cfm?id='+art);
		$(ele).dialog( { autoOpen: true, modal: true, show: 'fade', hide:
'fade', position: [30,30], width: 650, height: 400 } );
		return false;
	})
});
</script>
quando si clicca sul link con classe "misure" si apre la modale.
e qua c'e' un problema. perche' mentre con chrome funziona con ff
se apro la seconda modale (apro la prima, la chiudo, clicco per aprire
la seconda)
non si vede :-(.
in dettaglio.cfm c'e' questo
<form action="tmp.cfm" id="myForm">
Nome <input type="text" name="lastname" value="">
<input type="text" name="update" value="1">
<input type="submit" value="aggiorna quantita" class="bsend">
</form>
$("myForm").submit(function(){
    $.ajax({
        url: 'tmp.cfm',
        data: ({listname: "pippo"}),
        success: function( result ) {
			alert(result);
        }
    });
    return false;
});
che funzionerebbe anche bene senonche' funziona solo nella prima
modale
(questa volta sia sia chrome che su ff). gia' alla seconda non va
piu'
il submit con ajax!
cioe'
1. apro lista.cfm
2. clicco sull'icona che apre la modale (via ajax)
3. invio il form ajax -  funziona!
4. chiudo la modale
5. ne riapro un'altra per un altro record (via ajax)
6. invio il form ajax - NON funziona :-(
mi invia tutta la pagina... :-//
e in ogni modo... ho fatto bene ad usare .ajax?
ho visto in giro che ci sono tante cose...
(tra cui ajaxForm) ma mi sembra sempre una coperta corta...
qualche idea?
consiglio?
link?
grazie 1k! :-)
Rob

 consiglio?
un suggerimento prima di analizzare il tuo codice (lo faró lunedi)
uso il seguente codice per visualizzare finestre modali di aiuto
$(".bu_aiuto").click(function () {
var id = 
this.id
;
var dd = id.replace('bu_aiuto_','');
var di = $('#div_aiuto');
var fi = '../gestione/aiuto/'+dd+'.hlp?r='+(1+ Math.random()*99);
//di.html(fi);
di.load(fi);
di.dialog('open');
})
".bu_aiuto"
diversi bottoni con il punto interrogativo per la chiamata della
finestra di aiuto
gli id dei bottoni sono costituiti nel modo seguente:
bu_aiuto_ + il nome del file senza estensione
'#div_aiuto'
il div che mostrerà il contenuto dei file di testo che contiene la
spiegazione è sempre lo stesso
fi
la chiamata al file, qui vedi la particolarità di 1+ Math.random()*99
dopo il nome del file
ciò permette di risolvere il problema della cache, lo stesso problema
che si ha quando
si vuole visualizzare diverse immagini in tempi diversi, una per
volta, nello stesso contenitore
suppongo dunque che il numero aleatorio ti possa essere di aiuto, ma
osserverò meglio il tuo codice lunedi.
Saluti e buon weekend