jquery对话框表单通过ajax发布不起作用

jquery对话框表单通过ajax发布不起作用,jquery,ajax,Jquery,Ajax,我正试图从带有ajax的jquery对话框中获取值,并将其保存到我的bb.php文件中。 我已经调用了bValid中的ajax函数,但是当我按下按钮时没有ajax调用。非常感谢您的帮助 这是剧本 <script> $(function () { var box = $("#box"), itemname = $("#itemname"), size = $("#size"), potency = $("#pote

我正试图从带有ajax的jquery对话框中获取值,并将其保存到我的bb.php文件中。 我已经调用了bValid中的ajax函数,但是当我按下按钮时没有ajax调用。非常感谢您的帮助

这是剧本

<script>
$(function () {
      var box = $("#box"),
          itemname = $("#itemname"),
          size = $("#size"),
          potency = $("#potency"),
          quantity = $("#quantity"),

          allFields = $([]).add(box).add(itemname).add(size).add(potency).add(quantity),
          tips = $(".validateTips");

      function updateTips(t) {
          tips.text(t)
              .addClass("ui-state-highlight");
          setTimeout(function () {
              tips.removeClass("ui-state-highlight", 1500);
          }, 500);
      }


      function checkLength(o, n, min, max) {
          if (o.val().length > max || o.val().length < min) {
              o.addClass("ui-state-error");
              updateTips("Please enter the field ");
              return false;
          } else {
              return true;
          }
      }

      function checkRegexp(o, regexp, n) {
          if (!(regexp.test(o.val()))) {
              o.addClass("ui-state-error");
              updateTips(n);
              return false;
          } else {
              return true;
          }
      }

      $("#dialog-form").dialog({
          autoOpen: false,
          height: 600,
          width: 500,
          modal: true,
          buttons: {
              "edit": function () {
                  var bValid = true;
                  allFields.removeClass("ui-state-error");
                  bValid = bValid && checkLength(box, "box", 1, 16);
                  bValid = bValid && checkLength(itemname, "itemname", 1, 16);
                  bValid = bValid && checkLength(size, "size", 1, 16);
                  bValid = bValid && checkLength(potency, "potency", 1, 16);
                  bValid = bValid && checkLength(quantity, "quantity", 1, 16);

                  if (bValid) {
                      $("#users tbody").append("<tr>" +
                          "<td>" + box.val() + "</td>" +
                          "<td>" + itemname.val() + "</td>" +
                          "<td>" + size.val() + "</td>" +
                          "<td>" + potency.val() + "</td>" +
                          "<td>" + quantity.val() + "</td>" +
                          "</tr>");

                      //my ajax call
                      var data = $('#dialog-form').serialize();
                      $.ajax({
                          url: "bb.php",
                          type: "post",
                          data: data,
                          dataType: "json",
                          success: function (data) {
                              alert(data);
                          },
                          error: function (data) {
                              alert('invalid');
                          }
                      });

                      $(this).dialog("close");
                  }
              },
              Cancel: function () {
                  $(this).dialog("close");
              }
          },
          close: function () {
              allFields.val("").removeClass("ui-state-error");
          }
      });

  }); 
</script>

$(函数(){
变量框=$(“#框”),
itemname=$(“#itemname”),
大小=$(“#大小”),
效价=$(“#效价”),
数量=$(“#数量”),
所有字段=$([])。添加(方框)。添加(项目名称)。添加(大小)。添加(效力)。添加(数量),
提示=$(“.validateips”);
函数更新(t){
提示.文本(t)
.addClass(“ui状态突出显示”);
setTimeout(函数(){
removeClass(“ui状态突出显示”,1500);
}, 500);
}
函数校验长度(o、n、最小值、最大值){
如果(o.val().length>max | | o.val().length

有什么想法吗?

函数校验长度(o、n、最小值、最大值){
n在这个函数中的作用域是什么?在所有验证之后,
bValid
的值是什么?@karthikr这是真的..谢谢you@dreamweiver表单字段的值我猜..这是jquery对话框表单的默认函数..你能在上面模拟同样的函数吗,它很容易修复