You could try with plain HTML instead of using helper...

XML("""PLAIN HTML MODAL""")

Just to make sure that it works...

I suspect that the modal is not construct exactly as it should...

Richard


On Tue, May 27, 2014 at 10:27 AM, weheh <richard_gor...@verizon.net> wrote:

> 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> 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.
>>>
>>> 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.
>

-- 
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