Newsgroup: it.lavoro.professioni.webmaster
Titolo: [JQuery] passare parametri tramite link

Ciao,
c'ï¿œ qualcuno tra voi che ï¿œ pratico con Jquery?
in caso, posto la domanda, altrimenti mi rivolgerï¿œ altrove.
Grazie
ciao
-- 
Umin


Magari fai una domanda piï¿œ specifica
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Fashion is a form of ugliness so intolerable that we have to alter it
every six months.
		-- Oscar Wilde

 Magari fai una domanda piï¿œ specifica
ho una tabella con dei record e vorrei, tramite link, poter cancellare 
una riga della tabella e poi stampare la tabella aggiornata senza dover 
fare il reload della pagina.
Per quanto riguarda l'inserimento, tramite input, e pulsante submit, 
non ho problemi. Invio il dato tramite post, inserisco su db, faccio 
stampare la tabella dalla pagina lato server nel target che io gli dico 
tramite jquery.
La rimozione del dato, dalla singola riga della tabella, perï¿œ non mi 
riesce.
In partica dovrei/vorrei passare il parametro (l'id di riga) tramite 
link ma non so come integrarlo con jquery.
l'approccio tradizionale sarebbe:
<a href="cancella-riga.php?id=<?=$id; ?>">X</a>
ecco, vorrei fare la stessa cosa, perï¿œ con jquery
Non penso sia complicato ma... al momento non mi riesce :(
Grazie
-- 
Umin


tagliata al volo con l'accetta
function ricarica(id) {
	var r=Math.random(0,10000); //ti serve perchï¿œ quel deficiente di IE fa clamorosamente caching...
	$('#id_dove_ricarichi').post('cancella-riga.php?id='+id+'&r='+r);
}
e nell'html metti un
<div id=id_dove_ricarichi>
blablabla
</div>


>

tipo, cosï¿œ?
<script type="text/javascript">
function ricarica(id) {
var r = Math.random(0,10000);
$('#list').post('cancella.php?m='+id+'&r='+r);
}
</script>
<div id="list"></div>
<a href="#" onclick="ricarica('<?php echo $key; ?>')" />X</a>
non mi funziona :(
-- 
Umin

>> fare il reload della pagina.
Hai provato il plugin grid?
http://trirand.com/jqgrid/jqgrid.html
Se invece non ti occorre qualcosa di cosï¿œ grosso, io andrei di ajaxify 
(
http://maxblog.me/ajaxify/)per
 gestire l'invio dei dati a uno script 
php per aggiornare il db (qualora i dati della tabella provengano da un 
db che deve essere aggiornato in seguito a questa eliminazione) e per 
rimuovere la riga, hai provato qualcosa di simile?
$('#laRiga').remove();
<tr id="laRiga"><td>..........</td></tr>
Ovviamente all'interno di un onclick o quello che vuoi come trigger.
-- 
-------------------------------------------
Paolo De Dionigi
www.atfriends.net
Responsabile Tecnico Zen Cart Italia

 hai provato qualcosa di simile?
questo sembra fare al caso mio.
tipo jform, forse ancora piï¿œ semplice
ora guard, grazie Paolo
-- 
Umin

 (
http://maxblog.me/ajaxify/)per
 gestire l'invio dei dati a uno script php per 
ho provato qualcosa come:
[...]
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajaxify.js"></script>
</head>
<body>
<script type="text/javascript">   $(document).ready(function() {    
$('.ajaxify').ajaxify(); });</script>
<a class="ajaxify" href="test.php?c=ciao" target="#container">test</a>
<div id="container"></div>
</body>
ma mi apre la pagina .php in un'altra tab => non mi funziona.
cosa sbaglio?
-- 
Umin

 </div>
tipo, cosï¿œ?


 per
ho provato qualcosa come:


 riga, hai provato qualcosa di simile?
questo sembra fare al caso mio.



Non mi funziona cosa vuol dire?
Da un errore javascript? Non carica la pagina?
Hai un sistema di debug (firebug ad esempio) ?


Umin ha scritto:

Dunque, innanzitutto verifica quale versione di jquery stai usando. Per 
la 1.3 bisogna modificare un paio di righe in ajaxify (trovi tutto nel 
loro blog).
Questo ï¿œ un pezzo di ciï¿œ su cui sto lavorando negli ultimi giorni:
Html
<a id="start" href="" target="#main">Start</a>
file js esterno
$('#start').livequery(function() {
   $(this).ajaxify({
     target:'#main',
     link:'steps.php',
     method:'POST'
   });
});
Nel mio caso ho anche wrappato con livequery perchï¿œ ricarico (in certe 
circostanze) il medesimo link che deve essere ovviamente sempre 
ajaxificato (che orribile neologismo, perï¿œ si dovrebbe capire).
Ma firebug cosa ti dice?


 Hai un sistema di debug (firebug ad esempio) ?
DragonFly
cmq ora sto provando con ajafixy... se non risolvo, torno sull'esempio 
sopra citato.
grazie per ora!
-- 
Umin

 Ma firebug cosa ti dice?
uso dragonfly ma non mi da errori di alcuna natura tanto che (ora) nel 
funzionamento "base" va tutto bene. Il problema ï¿œ che se interagisco 
con un altro tipo di dato, nella stessa pagina, che adopera jform e poi 
torno ad usare il link di ajaxify, questo smette di funzionare come 
dovrebbe e mi apre il link in una nuova pagina
se riesco provo a mettere un esempio con il codice real-time
-- 
Umin

Umin ha scritto:

Non ho capito. Perï¿œ se hai anche jform (che non conosco) non ï¿œ che 
magari va in conflitto?


 in conflitto?
mi sono spiegato a cane.
ho preparato l'esempio scaricabile dal seguente link:
http://tinyurl.com/meg6ne
ci sono tre paginette:
1) test.php
2) ins.php
3) del.php
oltre a jquery, jform, ajaxify
test.php invoca ins.php passandogli un parametro (jform).
ins.php stampa il valore e lo mette come parametro del link (ajaxify).
del.php cancella il valore. Ma lo fa in una nuova tab.
penso che sia perchï¿œ il DOM viene "alterato" dopo l'inserimento tramite 
jform e si "perdono" le info sullo script ajaxify.
c'ï¿œ qualcosa di ovvio che sto trascurando? anche a livello di teoria, 
puï¿œ darsi stia mal interpretando l'utilizzo di jquery.
(p.s. considera che il mio script "originale" test passa, tramite 
jform, un valore ad ins che, tramite query, lo inserisce in db e poi 
stampa la tabella aggiornata. Nella tabella aggiornata compaiono i link 
(ajaxify) per cancellare i singoli record di essa stessa.
Ora, se cancellassi e basta, lo script funzionerebbe. Se inserissi e 
basta, idem. Se provo a fare entrambe le cose in sequenza, mi esegue 
l'operazione di rimozione in una nuova tab (ignorando, di fatto, 
ajaxify) )
ï¿œ piï¿œ difficile a dirsi che a farsi..
-- 
Umin

 puï¿œ darsi stia mal interpretando l'utilizzo di jquery.
Uhmm... purtroppo sono incasinatissimo di mio e non ho tempo per 
studiare l'esempio e fare le prove, ma...
domanda (non sono molto concentrato e particolarmente sharp in questo 
momento...): hai bisogno di 'usare' jquery (ad esempio ajaxify) su 
qualcosa che carichi nel dom dopo che la pagina ï¿œ stata caricata?
Se si allora ï¿œ per questo che non funziona (o meglio, questo sicuramente 
ï¿œ un motivio poi ci puï¿œ essere anche altro).
Per far si che tutto funzioni anche dopo che il dom ï¿œ stato modificato, 
allora bisogna usare livequery (come nel mio esempio).
In alternativa (credo, non ho approfondito questo aspetto) mi pare che 
jquery 1.3.x includa di default questa modalitï¿œ 'live'.
Per chiarire ulteriormente: nel mio caso con la chiamata via ajaxify io 
passo dei valori (nell'html postato non c'erano, ma uso dei campi input 
di un form) ad un file php, fa ciï¿œ che deve e in un caso aggiorna il div 
della pagina di partenza con nuove 'cose' in un altro caso 'ristampa' 
quanto c'era prima (riportando cosï¿œ la pagina alla situazione iniziale 
(o meglio cosï¿œ pare all'utente) con un messaggio di errore).
A questo punto, senza usare livequery il mio link non funziona piï¿œ come 
atteso (essendo privo di href, non fa nulla), ma wrappando tutto con 
livequery, ecco che funziona.


 livequery, ecco che funziona.
il mio link funziona... ma ignorando le caratteristiche di ajaxify 
quindi mi apre lo script lato server su una nuova pagina.
cmq forse inizio ad esserci. Tornando al tuo esempio di sopra:
<a id="del" href="" target="#list">Canc</a>
$('#del').livequery(function() {
 $(this).ajaxify({
 target:'#list',
 link:'elimina.php',
 method:'POST'
});
});
come faccio a passargli l'id da cancellare?
ancora grazie.
-- 
Umin

 come faccio a passargli l'id da cancellare?
Meglio se metto tutto il mio codice:
Questa la uso per creare il form e il link
function user_form() {
   $form = '
     <div id="user">
       <form id="startform" action="" method="post">
         <div id="result">
           <table style="width: 100%;" id="user">
             <tbody>
             <tr>
               <td width="20%">What is your sex?</td>
               <td width="30%">Male <input type="radio" value="M" 
name="sex" /> Female <input type="radio" value="F" name="sex" />
             </tr>
             <tr>
               <td>What is your age?</td>
               <td><input id="age" name="age" type="text" maxlength="2" 
size="2" /></td>
             </tr>
             </tbody>
           </table>
           <input type="hidden" name="step" value="0" />
           <a id="start" href="" target="#main" style="color: rgb(124, 
169, 57); font-weight: bold;">Start</a>
         </div>
       </form>
     </div>';
   return $form;
}
Poi nel html ho:
varie ed eventuali +
   <div id="main">
     <?php echo user_form();?>
   </div>
Infine includo un solo file js dove ho inserito jquery (1.2.6 anch'io) 
poi livequery versione 1.0.2 poi ajaxify versione 2.0.0, quindi il 
plugin history, un paio di funzioni per fare altre cose non collegate a 
quanto stiamo discutendo e infine il collegamento scritto in questo modo:
$('#start').livequery(function() {
   $(this).ajaxify({
     target:'#main',
     link:'steps.php',
     forms:'#startform',
     loading_img:'includes/images/sloading.gif',
     animateIn:{'height':'210px'},
     method:'POST'
   });
});
Ora c'ï¿œ tutto e funziona perfettamente (peccato che mi rappresenti solo 
il 10% di una cosa che devo finire per fine mese, insieme ad altri due 
siti :( )
Ah, se per caso ti chiedessi, ma manca il document ready, si esatto, non 
c'ï¿œ.


 Ah, se per caso ti chiedessi, ma manca il document ready, si esatto, non c'ï¿œ.
proverï¿œ a testare tutto il tuo codice nella prossima mezz'ora poi, 
domani, ti farï¿œ sapere.
Per ora grazie ancora Paolo, per l'aiuto.
-- 
Umin

 Ah, se per caso ti chiedessi, ma manca il document ready, si esatto, non c'ï¿œ.
visto, testato e .. scoraggiato.
non ne sono venuto ugualmente a capo :(
il tuo script, anche in locale, non sembra fare "quel che dico io" e 
non sono riuscito ancora a sbloccare la mia situazione.
sigh.
cercherï¿œ di percorrere altre strade.
Intanto, grazie ancora
-- 
Umin