首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个窗体的引导单模态窗口

具有多个窗体的引导单模态窗口
EN

Stack Overflow用户
提问于 2014-10-16 00:32:16
回答 1查看 5.4K关注 0票数 0

我有一个表单提交在一个模态,它工作良好的一个形式,但需要有15个模态表格在一页。如何将特定的模式打开器字段绑定到每个表单?

我肯定我没有很好地解释自己,下面是一个例子。这是定价表的一部分,所以每个div集都会提交自己的周期选择和隐藏字段--由每个单独的模式窗口打开器发起。

代码语言:javascript
复制
<form action="<?php echo JRoute::_('index.php?option=com_component&view=cart'); ?>" enctype="multipart/form-data" method="post">
    <div class="col col-md-4 no-padding">
        <div class="col-header text-center">
            <h3>Single Domain</h3>
            <h3>$4.99/Mo</h3>
        </div>
        <div class="col-body">
            <ul>
                <li class="row0 yes">Single Domain</li>
                <li class="row1 yes">Unlimited Web Space</li>
                <li class="row0 yes">Unlimited Bandwidth</li>
                <li class="row1 yes">Unlimited Mail Accounts</li>
                <li class="row0">
                    <select name="periods">
                        </option value="12">12 Months</option>
                        </option value="24">24 Months</option>
                        </option value="36">36 Months</option>
                    </select>
                </li>
            </ul>
            <input type="hidden" name="plan_name" value="Single" />
            <input type="hidden" name="plan_type" value="Windows_Hosting" />
            <input type="hidden" name="plan_id" value="123456" />
        </div>
        <div class="col-footer text-center">
            <!-- Button trigger modal -->
            <a href="#myModal" class="btn btn-lg btn-default btn-primary" data-toggle="modal" data-target="#myModal">Buy Now</a>
            <!-- Modal -->
            <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                <div class="modal-dialog-md">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                            <h4 class="modal-title" id="myModalLabel">Specify a domain name for your order</h4>
                        </div>
                        <div class="modal-body">
                            <label class="radio-inline">
                                <input type="radio" name="has_domain" id="inlineRadio1" value="option1"> I already have a Domain Name
                            </label>
                            <label class="radio-inline">
                                <input type="radio" name="register_domain" id="inlineRadio1" value="option1"> I want to buy a new Domain Name 
                            </label>
                            <input type="text" placeholder="www." id="inputDomain" class="form-control">
                            <div class="row">
                                <strong>Building a website for your business? Don't risk it - safeguard your website with our must-have website tools</strong>
                                <div class="col-sm-6">
                                    <div class="media">
                                        <span class="pull-left sitelock-menu-icon"> </span>
                                        <div class="media-body">
                                            <h4 class="media-heading text-left">Sitelock</h4>
                                            <p class="text-left">Over 5000 websites get attacked everyday. Get SiteLock and secure your website from hackers, viruses and malware.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="media">
                                        <span class="pull-left codeguard-menu-icon"> </span>
                                        <div class="media-body">
                                            <h4 class="media-heading text-left">CodeGuard</h4>
                                            <p class="text-left">Protect yourself from unexpected website crashes. Add CodeGuard and get automatic cloud backup for your website and database.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default btn-small" data-dismiss="modal">Close</button>
                            <button type="submit" class="btn btn-primary btn-small">Continue to checkout</button>
                        </div>
                    </div>
                </div>
            </div>
            <!-- End Modal -->
        </div>
    </div>

编辑:

我想我包含了太多的代码,甚至没有解释,所以这里有一个更短/更好的例子。

代码语言:javascript
复制
<form action="index.php?option=com_component&view=cart" enctype="multipart/form-data" method="post">
    <!-- Set #1 -->
    <select name="periods_single">
        </option value="12">12 Months</option>
        </option value="24">24 Months</option>
        </option value="36">36 Months</option>
    </select>
    <input type="hidden" name="plan_name" value="Single" />
    <input type="hidden" name="plan_type" value="Windows_Hosting" />
    <input type="hidden" name="plan_id" value="123456" />
    <!-- Button trigger modal -->
    <a href="#myModal" class="btn btn-lg btn-default btn-primary" data-toggle="modal" data-target="#myModal">Buy Now</a>

    <!-- Set #2 -->
    <select name="periods_double">
        </option value="12">12 Months</option>
        </option value="24">24 Months</option>
        </option value="36">36 Months</option>
    </select>
    <input type="hidden" name="plan_name" value="Double" />
    <input type="hidden" name="plan_type" value="Windows_Hosting" />
    <input type="hidden" name="plan_id" value="234567" />
    <!-- Button trigger modal -->
    <a href="#myModal" class="btn btn-lg btn-default btn-primary" data-toggle="modal" data-target="#myModal">Buy Now</a>

    <!-- Set #3 -->
    <select name="periods_triple">
        </option value="12">12 Months</option>
        </option value="24">24 Months</option>
        </option value="36">36 Months</option>
    </select>
    <input type="hidden" name="plan_name" value="Triple" />
    <input type="hidden" name="plan_type" value="Windows_Hosting" />
    <input type="hidden" name="plan_id" value="345678" />
    <!-- Button trigger modal -->
    <a href="#myModal" class="btn btn-lg btn-default btn-primary" data-toggle="modal" data-target="#myModal">Buy Now</a>            
    <!-- Modal -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog-md">
            <div class="modal-content">
                    <input type="text" placeholder="www." id="inputDomain" class="form-control">
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default btn-small" data-dismiss="modal">Close</button>
                        <button type="submit" class="btn btn-primary btn-small">Continue to checkout</button>
                    </div>
            </div>
        </div>
    </div>
    <!-- End Modal -->
</form>

好的,现在您可以看到(在本例中)有三组句点选项,每个选项都有隐藏字段和它们的模式打开器,它们指向单个模态。我想要完成的是知道使用了哪个模式打开器,然后得到与它相关的值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-16 20:15:51

好了,开始吧。我认为HTML5数据属性将为您提供服务。请记住我在下面共享的代码非常少。关于一个更完整的例子,请看一下我的JSFiddle

通过这样做,您只需要一组隐藏字段(要与模式表单一起提交的字段)。这就是发生的事情:

  • 用户单击产品。单击的按钮具有与其相关联的数据属性,这些属性将传递给模式表单。
  • 打开一个模式,里面有一个表单(您可以将它隐藏起来,它们是可见的,以演示)该表单现在保存正确的数据。
  • 用户继续,表单将提交。 $(.ready)(函数(){ //您可能不会使..btn默认值更具体).on(“单击”,函数(){ var name = $(this).attr('data-name');var类型=$ $(this).attr('data- type ');id var =$ $(this).attr('data-id');变量选项= $(this).parents('.product').find(':selected').attr('data-option');$('.modal input#choosen_option‘).val(选项);$('.modal input#choosen_name').val(name);$('.modal input#choosen_type').val(type);$('.modal input#choosen_id').val(id);};};

标记:

代码语言:javascript
复制
 <!-- Set #1 --> 
 <div class="product">
   <select name="periods_single">
    <option data-option="12">12 Months</option>
    <option data-option="24">24 Months</option>
    <option data-option="36">36 Months</option>
   </select>
 <a class="btn-default" data-name="Single" data-type="Windows_Hosting" data-id="1">  
   Buy Now
 </a>
 </div>

 <!-- Set #2 --> 
  <div class="product">
   <select name="periods_double">
    <option data-option="12">12 Months</option>
    <option data-option="24">24 Months</option>
    <option data-option="36">36 Months</option>
   </select>
 <a class="btn-default" data-name="Double" data-type="Windows_Hosting" data-id="2">Buy Now</a>
  </div>

有形式的模态:

代码语言:javascript
复制
<!-- Modal -->
 <div class="modal fade" id="myModal">
    <div class="modal-dialog-md">
        <div class="modal-content">
            <div class="modal-footer">
                <form action="">
                <input type="text" id="choosen_option" />
                <input type="text" id="choosen_name" />
                <input type="text" id="choosen_type" />
                <input type="text" id="choosen_id" />
                </form>
            </div>
        </div>
    </div>
 </div>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26394376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档