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 <[email protected]> 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 <[email protected]> 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 [email protected].
>>>
>>> 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 [email protected].
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.