提交时打开模态

时间:2016-08-30 13:14:37

标签: javascript jquery twitter-bootstrap

我有自举形式和按钮,当我点击按钮它进入其他页面,但我需要的是,当我点击按钮,打开模态,我认为防止默认功能或类似的东西,但我需要帮忙,这是我的代码



var request = false;

jQuery(document).ready(function() {
    jQuery('#sonata_add_basket_submit').on('submit', function (e) {
        e.preventDefault();

        if (false === request) {
            request = true;
            var self = $(this);

            jQuery.ajax({type: self.attr('method'), url: self.attr('action'), data: self.serialize(),
                success: function (data) {
                    if (data) {
                        request = false;
                        jQuery(self.attr('data-target')).html(data).modal('show');
                    }
                }
            });
        } else {
            return false;
        }
    });
});

<form id="form_add_basket_button_{{ product.id }}" class="form-horizontal" action="{{ url('sonata_basket_add_product') }}" method="POST"{% if provider.getOption('product_add_modal') %} data-target="#add_basket_modal_{{ product.id }}"{% endif %}>
               
  <button type="submit" class="homecart" id="sonata_add_basket_submit" data-target="#add_basket_modal_{{ product.id }}" data-toggle="modal"{% if sonata_product_stock(product) == 0 %} disabled{% endif %}>
                    <i class="categoryicon2"></i> {% trans from 'SonataProductBundle' %}sonata.product.btn_add{% endtrans %}
                </button>

                {{ form_rest(form) }}
            </form>
&#13;
&#13;
&#13;

我的代码不好,哪里出错?

1 个答案:

答案 0 :(得分:0)

您需要将提交处理程序绑定到表单,而不是按钮:

jQuery('#form_add_basket_button_{{ product.id }}').on('submit', function (e) {

有关示例和说明,请参阅API:https://api.jquery.com/submit/