SweetAlert2表单验证不返回

时间:2019-04-30 18:46:11

标签: javascript forms validation sweetalert2

尝试通过发送确认的表单使用SweetAlert2。但是,无论我尝试什么,我都无法正常工作。

Swal.fire({
  title: err_msg,
  //html: strCEmail,
  text: 'hello',
  type: 'question',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Yes, send it!'
}).then((result) => {
  if (result.value) {
    // xxxxxxxxxxxxxxxxxxxx
  }
}); 

代码达到了xxxxxxxxxxxxx的罚款,但是我在此处输入的任何内容都不会触发表单提交。

我已经尝试了显而易见的

return true;

但是那没有用。然后经过一番挖掘,我发现了一个建议,提交这样的表格:

document.forms["myform"].submit();

或     form.submit();

哪个没用

那么...一旦用户在SweetAlert2中选择了提交,我可以使用什么来提交表单?

2 个答案:

答案 0 :(得分:0)

很可能您正在尝试访问不存在的内容。 基于SWAL文档和这篇文章:Response from Sweet-alert confirm dialog 您应该只尝试执行“ if(result)”而不是“ if(result.value)”。

此外,正如我在上面评论的那样,您应该仔细阅读文档并阅读pokémon示例,它可能会给您一个提示:sweetalert.js.org/guides/#advanced-examples

答案 1 :(得分:0)

为您的表单提供ID

<form action="your-action" method="post" id="my_form">

在js中:

Swal.fire({
  title: err_msg,
  text: 'hello',
  type: 'question',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Yes, send it!'
}).then((result) => {
  if (result.value) {
      $(document).find('#my_form').submit();
  }
});