2013-05-04 10 views
3

Здравствуйте, я решил использовать Bootbox.js в качестве простого способа включения мода бутстрапа, чтобы я мог заставить пользователя подтвердить свой выбор до публикации формы и внесения изменений.Bootbox.js Подтвердить выбор перед отправкой формы

Я использую Laravel, JQuery, Bootstrap и Bootbox.js в моем файле макета по умолчанию:

Layout.blade.php

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.min.js"></script>')</script> 
    <script src="js/plugins.js"></script> 
    <script src="js/main.js"></script> 
    <script src="js/vendor/bootstrap.js"></script> 
    <script src="js/vendor/modernizr-2.6.2.min.js"></script> 
    <script src="js/vendor/bootbox.js"></script> 

Пользователь Страница:

{{Form::open('choice')}} 

    @foreach($items as $item) 
     <tr> 
     <td>{{ HTML::image($item->image, '', array('class' => 'img img-rounded', 'width' => '100px', 'height' => '100px')) }}</td> 
     <td>{{$item->name}}</td> 
     <td>{{ $item->desc }}</td> 
     <td>{{ Form::radio('item', $item->item_id)}}</tr> 
    @endforeach 
    </tbody> 
    </table> 

    {{ Form::submit('Confirm Choice', array('class' => 'btn btn-success btn-block')) }} 

    <script> 
    $(document).ready(function() { 
    $(document).on("click", ".alert", function(e) { 
     bootbox.confirm("Are you happy with the decision you have made?", "I have changed my mind", "I am happy with my choice", function(result) { 
     if (result) { 
      console.log("user confirmed"); 
     } else { 
      console.log("user declined"); 
     } 
     }); 
    }); 
    }); 
</script> 

{{Form::close()}} 

я не знаю, как заставить модальность предстать перед и предотвратить подачу. Но только сообщение, если пользователь подтвердил свой выбор?

ответ

4

Добавление e.preventDefault() в обработчике onClick предотвратит отправку формы.

<script> 
    $(document).ready(function() { 
    $(document).on("click", ".alert", function(e) { 
     e.preventDefault(); 
     bootbox.confirm("Are you happy with the decision you have made?", "I have changed my mind", "I am happy with my choice", function(result) { 
     if (result) { 
      console.log("user confirmed"); 
     } else { 
      console.log("user declined"); 
     } 
     }); 
    }); 
    }); 
</script> 
Смежные вопросы