Richard - Thanks, but that is exactly what I'm using: response.js = $("#contact-dialog").modal("hide"); and it's not working. The function wrapper was an act of desperation but it doesn't work either.
On Tuesday, May 27, 2014 9:56:32 PM UTC+8, Richard wrote: > > I think you just need : $("#contact-dialog").modal("hide"); > > Instead of : > > (function() {$("#contact-dialog").modal("hide");})(); > > Since you don't need to check if document is ready... > > But if you want to keep it I guess you miss a $ > > *$*(function() {$("#contact-dialog").modal("hide");}); > > Not sure about the (); at the end... > > Richard > > > > On Mon, May 26, 2014 at 11:22 PM, weheh <richard...@verizon.net<javascript:> > > wrote: > >> My bootstrap modal won't close when the user clicks the submit button. >> Console says, "Uncaught TypeError: undefined is not a function" >> >> Here's what I'm doing. >> >> # view does a load of a skeleton >> {{= LOAD('contact', 'dialog.load', ajax=True)}} >> >> # contact controller looks like this >> def dialog(): >> return dict(html=DIV( >> DIV( >> DIV( >> _class='modal-content', >> ), >> _class='modal-dialog', >> ), >> _class='modal autoModal fade', >> _id='contact-dialog', >> _role='dialog', >> aria=dict(labelledby='contact-title', hidden='true'), >> ) >> ) >> >> # document ready initializes modal >> $(document).ready(function() { >> $("#contact-dialog").modal({ >> show: false, >> backdrop: false, >> keyboard: true >> }); >> }); >> >> # elsewhere in view, link is created that launches modal >> A(current.T('Contact'), _href='#', >> _title=current.T('For a good time, call ...'), >> _onclick="""web2py_component("%s","contact-dialog .modal- >> content"); >> $("#contact-dialog").modal("show");""" % URL('contact', >> 'form.load'), >> ), >> >> Custom form is loaded AOK. All form functionality works hunky-dory (which >> means AOK for you non-native-English speakers). Errors caught perfectly by >> web2py. And then, for the coupé de gras: >> >> if contact_form.process(formname='contact_form').accepted: >> send_email(contact_form) >> response.flash = SPAN(T('Message sent'), _class='success') >> response.js = '$("#contact-dialog").modal("hide");' # <<< THIS >> IS WHERE THE TROUBLE IS!! >> >> response.js gets executed. That's where I get the "Uncaught TypeError: >> undefined is not a function" message. I interpret this to mean that >> response.js is being treated like a function but there's no function. >> >> Out of desperation, I went so far as to wrap a function around >> response.js like this: >> response.js = '(function() >> {$("#contact-dialog").modal("hide");})();' >> >> but that was utterly futile. OK web2py community, what gives? I used to >> do this all the time with jquery ui and had no trouble. But with bootstrap, >> it's a problem. >> >> -- >> 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 web2py+un...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.