我试图将带有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>
任何想法??