I just encountered the same problem. I'm using a Bootstrap Modal form and
encountering the same problem - the form sends and receives data via AJAX
but then adds the 'disabled' class to the button.
I found this logic in web2py.js but I'm not clear on what's happening and
why:
// Form input elements disabled during form submission
disableSelector: 'input, button, textarea, select',
// Form input elements re-enabled after form submission
enableSelector: 'input:disabled, button:disabled, textarea:disabled,
select:disabled',
Have either of you found a solution?
On Sunday, August 3, 2014 2:53:50 PM UTC-4, Reza Amindarbari wrote:
>
> Did you figure out what was wrong? I faced the same issue. Everything
> works fine when I take out the ajax function.
>
> On Sunday, May 4, 2014 9:33:05 AM UTC-4, John Drake wrote:
>>
>> I've created a simple ajax form to update a "post" database. For some
>> strange reason when I post a new message, the button greys out.
>>
>> Here is the model:
>>
>> db.define_table('t_post',
>> Field('f_post', type='text',
>> label=T('Post')),
>> auth.signature,
>> format='%(f_post)s')
>>
>> Here are my controller functions.
>>
>> def ajax_post():
>> posts = crud.select(db.t_post, fields=['f_post'], query =
>> db.t_post.created_by == auth.user,
>> headers={'t_post.f_post': 'Post'}, orderby =
>> ~db.t_post.created_on)
>> search = crud.search(db.t_post)
>> return dict(posts=posts, search=search)
>>
>> def new_post():
>> postdata = request.vars.post
>> db.t_post.insert(f_post = postdata)
>> posts = crud.select(db.t_post, fields=['f_post'], query =
>> db.t_post.created_by == auth.user,
>> headers={'t_post.f_post': 'Post'}, orderby =
>> ~db.t_post.created_on)
>> return posts
>>
>> Here is the model:
>>
>> {{extend 'layout.html'}}
>> <h1>This is the default/ajax_post.html template</h1>
>> <form onsubmit="return false">
>> <div>Post : <input name="post"/></div>
>> <div><button onclick="ajax('new_post', ['post'],'results')">Post
>> Message</button></div>
>> </form>
>> <div id="results">
>> {{=posts}}
>> </div>
>> <div>
>> {{=search[0]}}
>> </div>
>>
>> At first I used an input field with type "submit" for the submit button.
>> When that happened, it would
>> grey out and the value would set to "Working....". At least now button
>> text doesn't change, but it
>> it still grey's out. Inspecting the element in Firefox I get:
>>
>> <button value="Working..." class="btn disabled" onclick="ajax('new_post',
>> ['post'],'results')">Post Message</button>
>>
>> Why? I didn't ask it to change the button's class to disabled. And it
>> stays greyed even though
>> the results have returned and my "results" div has been properly
>> updated. I can still click on
>> the button, but it just appears disabled.
>>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.