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.

Reply via email to