我对jquery ajax验证感到震惊。我有一个带有4个文本框的简单表单我在按钮单击中保存数据,表单未验证。当我使用提交按钮而不是类型="按钮" ..如何在按钮点击中验证我的表单,这对我来说是必须的..
看我的小提琴: 第一个带有提交按钮
1)http://jsfiddle.net/dxEEe/2/
第二个是按钮类型
2)http://jsfiddle.net/dxEEe/33/
$(document).ready(function() {
$("#form1").validate({
rules: {
txtName: {
required: true
}
},
messages: {
txtName: {
required: "Field should not be empty"
}
},
submitHandler: function (form) {
var txtName = $("#txtName").val();
var txtEmail = $("#txtEmail").val();
var txtSurName = $("#txtSurName").val();
var txtMobile = $("#txtMobile").val();
var txtAddress = $("#txtAddress").val();
$.ajax({
type: "POST",
url: location.pathname + "/saveData",
data: "{Name:'" + txtName + "',SurName:'" + txtSurName + "',Email:'" + txtEmail + "',Mobile:'" + txtMobile + "',Address:'" + txtAddress + "'}",
contentType: "application/json; charset=utf-8",
datatype: "jsondata",
async: "true",
success: function (response) {
$(".errMsg ul").remove();
var myObject = eval('(' + response.d + ')');
if (myObject > 0) {
bindData();
$(".errMsg").append("<ul><li>Data saved successfully</li></ul>");
} else {
$(".errMsg").append("<ul><li>Opppps something went wrong.</li></ul>");
}
$(".errMsg").show("slow");
clear();
},
error: function (response) {
alert(response.status + ' ' + response.statusText);
}
});
}
});
$("#btnSave").click(functioin(){
$("#form1").submit()
});
});
答案 0 :(得分:2)
尝试这样更正你的代码,两个代码都正常工作
$("#btnSave").click(function(){ //function() not functioin()
$("#form1").submit();
});
答案 1 :(得分:0)
如果您不想使用$(“#form1”)。submit(); use可以使用.valid方法。例如 -
$("#btnSave").click(function(){
$("#form1").valid();// will validate the form
});