0

我试图在用户使用 CodeIgniter 提交表单之前弹出确认窗口,但触发器/提交部分不起作用。它要求确认,但不提交表格。

我的 HTML:

<?php
echo form_open(site_url("action"), array('id' => "order" , )) ?>
<input type="text" class="form-control" name="anything" value="">
<button type="submit" id="btn-submit" class="btn btn-danger" class="form-control">Submit</button>
<?php echo form_close() ?>

这是Javascript

$('#btn-submit').on('click',function(e){
e.preventDefault();
var form = $(this).parents('form');
swal({
  title: "Are you sure?",
  text: "You will not be able to recover this imaginary file!",
  type: "warning",
  showCancelButton: true,
  confirmButtonColor: "#DD6B55",
  confirmButtonText: "Yes, delete it!",
  closeOnConfirm: false
}, function(isConfirm){
  if (isConfirm) form.submit();
});
});

我也尝试过定位/选择表单 ID 而不是按钮,但同样的问题。资源已正确加载。

4

2 回答 2

0

我实际上使用了错误的功能。我在加载 sweetalert2 时使用的函数来自 sweetalert。我将代码从

swal({
  {... closeOnConfirm: false},
  function() {
   // Function
  }
});

swal({
  ...
  showLoaderOnConfirm: true,
  preConfirm: function() {
    //function
}).then(function() {
  swal('Processing');
});

它正在工作

于 2017-05-09T09:50:21.410 回答
0

更改:

var form = $(this).parents('form');

var form = $(this).parent('form');

然后再试一次。

于 2017-05-09T09:43:08.087 回答