javascript - 当我在不同的事件中使用它时,函数 javascript 不起作用

标签 javascript jquery html

我有这样的函数 JavaScript 代码

function insertData(link) {
        $("#addGroup").validate({
          ignore:[],
          rules:{
            mod_groupname: {
              required: true,
              minlength: 5,
              maxlength: 30
            },
            mod_namegroup: {
              required: true,
              minlength: 7,
              maxlength: 100
            },
            "hiddenRecaptcha": {
           required: function() {
               if(grecaptcha.getResponse() == '') {
                   return true;
               } else {
                   return false;
                   }
               }
          }
          },
          errorPlacement: function(error, element)
          {
            if(element.closest('.form-group').find('label.error').length == 0){
              error.css({
                "color":"red",
                "font-weight": "bolder"
              }).insertBefore( element.closest('.form-group').find('.container_error'));
            }
          },
          submitHandler: function(form) {
            $form = $(form);
            $.post(link,$form.serialize(),function(data){
              var obj = jQuery.parseJSON(JSON.stringify(data));
              if (jQuery.type(obj.message) == "object") {
                $.each(data,function(index, value) {
                  if (jQuery.type(data[index]) == "object") {
                    var stringMessage = "";
                    $.each(data[index],function(urutan,isi) {
                      stringMessage += "- "+isi+"\n";
                    });
                    alert(stringMessage);
                  }
                });
              }
              else if (jQuery.type(obj.message) == "string") {
                alert(obj.message);
                if (obj.code == 1) {
                  $("#modalAddGroup").modal('toggle');
                  var oTable = $("#view_group").dataTable();
                  oTable.fnDraw();
                }
                grecaptcha.reset();
                $("#addGroup")[0].reset();
              }
            });
          }
        });
      }

之后我在事件 jQuery 中使用函数

$("#modalShow").click(function() {
    $("#hiddenCodeRole").remove();
    grecaptcha.reset();
    $("#addGroup")[0].reset();
    $("#mod_codegroup").removeAttr("disabled");
    $("#title-modal").text("Tambah grup hak akses");
    $("#modalAddGroup").modal('toggle');
    insertData("siteman/app/insert/insert_add_group.php");
  });


  $("#view_group").on("click",".btn-update",function() {
    $.ajax({
      url: "siteman/app/json/view_group_update.php",
      dataType: 'json',
      data: "rolecode="+$(this).attr("data"),
      method: "POST",
      success: function(result) {
        grecaptcha.reset();
        $("#addGroup")[0].reset();
        var obj = JSON.parse(JSON.stringify(result));
        if(obj.code == 1) {
          $("#hiddenCodeRole").remove();
          $("#mod_codegroup").val(obj.data.role_rolecode).addClass("disabled").attr("disabled","disabled");
          $("#namegroup").val(obj.data.role_name);
          $("#title-modal").text("Perbaharui grup hak akses");
          $("#addGroup > .form-group:first").append("<input type='hidden' id='hiddenCodeRole' value='"+obj.data.role_rolecode+"' name='mod_rolecode' />");
          $("#modalAddGroup").modal('toggle');
          insertData("<?=BASEPATH?>siteman/app/change/process_edit_group.php");
        } else {
          alert('Ada terjadi error. silahkan anda mengulangi lagi!');
        }
      },
      error: function() {
        alert('Ada terjadi error. silahkan anda mengulang lagi!')
      }
    });
  });

当我点击按钮类.btn-update并且更新数据成功时出现问题。我单击按钮 modalShow 并填写表单函数 insertData("siteman/app/insert/insert_add_group.php") 未调用,但此函数 insertData("siteman/app/json/view_group_update.php") 再次调用。

抱歉我的英语不好:(。

最佳答案

感谢 stackoverflow,我找到了解决方案

      $("#addGroup").validate({
    ignore:[],
    rules:{
      mod_groupname: {
        required: true,
        minlength: 5,
        maxlength: 30
      },
      mod_namegroup: {
        required: true,
        minlength: 7,
        maxlength: 100
      },
      "hiddenRecaptcha": {
     required: function() {
         if(grecaptcha.getResponse() == '') {
             return true;
         } else {
             return false;
             }
         }
    }
    },
    errorPlacement: function(error, element)
    {
      if(element.closest('.form-group').find('label.error').length == 0){
        error.css({
          "color":"red",
          "font-weight": "bolder"
        }).insertBefore( element.closest('.form-group').find('.container_error'));
      }
    },
    submitHandler: function(form,event) {
      event.preventDefault();
      $form = $(form);
      var url = $form.attr("action");
      $.post(url,$form.serialize(),function(data){
        var obj = jQuery.parseJSON(JSON.stringify(data));
        if (jQuery.type(obj.message) == "object") {
          $.each(data,function(index, value) {
            if (jQuery.type(data[index]) == "object") {
              var stringMessage = "";
              $.each(data[index],function(urutan,isi) {
                stringMessage += "- "+isi+"\n";
              });
              alert(stringMessage);
            }
          });
        }
        else if (jQuery.type(obj.message) == "string") {
          alert(obj.message);
          if (obj.code == 1) {
            $("#modalAddGroup").modal('toggle');
            var oTable = $("#view_group").dataTable();
            oTable.fnDraw();
          }
          grecaptcha.reset();
          $("#addGroup")[0].reset();
        }
      });
    }
  });
  $("#modalShow").click(function() {
    $("#hiddenCodeRole").remove();
    grecaptcha.reset();
    $("#addGroup")[0].reset();
    $("#mod_codegroup").removeAttr("disabled");
    $("#title-modal").text("Tambah grup hak akses");
    $("#modalAddGroup").modal('toggle');
    $("#addGroup").attr("action","<?=BASEPATH?>siteman/app/insert/insert_add_group.php");
  });
  $("#view_group").on("click",".btn-update",function() {
    $.ajax({
      url: "<?=BASEPATH?>siteman/app/json/view_group_update.php",
      dataType: 'json',
      data: "rolecode="+$(this).attr("data"),
      method: "POST",
      success: function(result) {
        grecaptcha.reset();
        $("#addGroup")[0].reset();
        var obj = JSON.parse(JSON.stringify(result));
        if(obj.code == 1) {
          $("#hiddenCodeRole").remove();
          $("#mod_codegroup").val(obj.data.role_rolecode).addClass("disabled").attr("disabled","disabled");
          $("#namegroup").val(obj.data.role_name);
          $("#title-modal").text("Perbaharui grup hak akses");
          $("#addGroup > .form-group:first").append("<input type='hidden' id='hiddenCodeRole' value='"+obj.data.role_rolecode+"' name='mod_rolecode' />");
          $("#modalAddGroup").modal('toggle');
          $("#addGroup").attr("action","<?=BASEPATH?>siteman/app/change/process_edit_group.php");
        } else {
          alert('Ada terjadi error. silahkan anda mengulangi lagi!');
        }
      },
      error: function() {
        alert('Ada terjadi error. silahkan anda mengulang lagi!')
      }
    });
  });

关于javascript - 当我在不同的事件中使用它时,函数 javascript 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36103693/

相关文章:

javascript - 单击按钮时执行 Ruby on Rails 代码

javascript - 返回所有用户、每个用户的帖子以及每个带有评论的帖子 laravel

javascript - pagify.js 正在将我的索引页面内容添加到其他页面

javascript - 在 javascript 中创建一个 html 表

html - css关键帧位置问题

javascript - 如何从txt文件或pastebin中获取文本?

javascript通过路径数组到达元素

javascript - SharedArrayBuffer 未定义

javascript - js动画在第一次点击时不起作用

javascript - JQuery Children().find(x) 返回错误结果 - prevObject