should be

<form>
    <input type="hidden" name="id" value="" />
</form>



Massimo


On Sep 25, 1:26 pm, Jose <[email protected]> wrote:
> Any changes in the function ajax of the application scaffold?
>
> The following code works in an old application
>
> <form>
>     <input type="hidden" id="id" value="" />
> </form>
>
> <div id="submenu">
> {{for r in rows:}}
>     <span onclick="$('#id').attr('value','{{=r.id}}');
> ajax('bg_myfunction', ['id'], 'target');">
>         {{=r.name}}
>     </span>
> {{pass}}
> </div>
> <div id="target"></div>
>
> def bg_myfunction():
>     id = request.vars.id
>     return id
>
> But in a new, created from the application of scaffolding does not
> work, request.vars is always None.
>
> the old function ajax (works fine) is:
> function ajax(u,s,t) {
>   var query="";
>   for(i=0; i<s.length; i++) {
>      if(i>0) query=query+"&";
>      query=query+encodeURIComponent(s[i])
> +"="+encodeURIComponent(document.getElementById(s[i]).value);
>   }
>   jQuery.ajax({type: "POST", url: u, data: query, success:
> function(msg) { if(t==':eval') eval(msg); else
> document.getElementById(t).innerHTML=msg; } });
>
> }
>
> the new function ajax is:
> function ajax(u,s,t) {
>     query = '';
>     if (typeof s == "string") {
>         d = jQuery(s).serialize();
>         if(d){ query = d; }
>     } else {
>         pcs = [];
>         for(i=0; i<s.length; i++) {
>             q = jQuery("#"+s[i]).serialize();
>             if(q){pcs.push(q);}
>         }
>         if (pcs.length>0){query = pcs.join("&");}
>     }
>     jQuery.ajax({type: "POST", url: u, data: query, success:
> function(msg) { if(t) { if(t==':eval') eval(msg); else jQuery("#" +
> t).html(msg); } } });
>
> }
>
> is a new way of working with the new function or it has a bug?
>
> Regards,
> Jose

Reply via email to