[ruby-it] Form multibutton con JQuery. Come fare ?

Ale Ds alexdesi a gmail.com
Ven 6 Nov 2009 13:21:39 CET


> Proposta quick and dirty:
> 
> <input class="pulsante" type="submit" name="questo" value="si"/>
> <input class="pulsante" type="submit" name="quello" value="no"/>
> 
> nel js:
> function crea_hidden(obj) {
>     return '<input type="hidden" name="' + obj.attr('name') + '"
> value="' + obj.val() + '"/>'
> }
> 
> $('.pulsante').click(function()
> {$('#new_user').append(crea_hidden($(this))); return true; });
> 
> $('#new_user').submit(function(){
>         $.post($(this).attr('action'), $(this).serialize(), null,"script");
>         return false;
>     });
> 
> In questo modo il controller riceve gli stessi dati sia via ajax che 
> non.
Non ho ancora provato la tua sol. ma la trovo davvero interessante, in 
particolare l'uso di:
$('#new_user').append(crea_hidden($(this))); return true; }

Tuttavia ancora nn ho capito perche' il parametro {'name_button' => 
'value_button'} nn viene passato quando si usa Ajax (da cui nasce il 
problema), nel mio caso quando uso:

   $('#new_user').submit(function(){
        $.post($(this).attr('action'), $(this).serialize(), null, 
"script");
        return false;
    });

ne hai idea ?

questa sol. come tu dici e' quick and dirty, hai in mente qualche sol. 
piu' "pulita" ?

> 
> Nota forse ovvia: non conviene mai discriminare in base al valore del
> submit, dato che puo' essere localizzato, ma piuttosto in base al nome
> del campo, cioe' con:
> e, quindi, nel controller,
> 
> if params[:questo]
>   ...
> end
> 
sono d'accordo, anche Rayan B. usa questa tecnica 
(http://railscasts.com/episodes/38-multibutton-form)

ciao,
Alessandro
-- 
Posted via http://www.ruby-forum.com/.


More information about the Ml mailing list