我有一个弹出窗体,其中有一个文本框,我通过jQuery使用AJAX帖子将表单提交给服务器。我使用强类型的局部视图作为弹出窗口,但是当我将文本框保持为空并单击提交按钮时,它会显示成功的验证并将表单发布到服务器。
这是我的ajax代码:
$(document).ready(function(){
//if($("#frmScenaria").valid()==true)
//code to save detail
$('#frmPost').submit(function (e) {
var serializedForm = $('#frmPost').serialize();
$.ajax({
url: '@Url.Action("Save","Scenario")',
type: "POST",
dataType: "json",
data: serializedForm,
success: function (result) {
if (result.Success==true)
{
location.reload();
}
},
error: function(xhr, status, error) {
//alert(error.Message);
}
});
return false;
});
//code to save detail end
});
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
请改用客户端验证。如下所示:[假设textbox1
是文本框的名称]
$('#frmPost').submit(function (e) {
if($('#frmPost').textbox1.value == "") {
alert('Please enter a value');
$('#frmPost').textbox1.focus();
return false;
}
var serializedForm = $('#frmPost').serialize();
$.ajax({
url: '@Url.Action("Save","Scenario")',
type: "POST",
dataType: "json",
data: serializedForm,
success: function (result) {
if (result.Success==true)
{
location.reload();
}
},
error: function(xhr, status, error) {
//alert(error.Message);
}
});
return false;
});
希望这对你有用,谢谢。
答案 1 :(得分:0)
请使用如下 注意:我在发布之前检查了vqalidation。
$('#frmPost').click(function (e) {
if($("#frmPost").validate())
{
var serializedForm = $('#frmPost').serialize();
$.ajax({
url: '@Url.Action("Save","Scenario")',
type: "POST",
dataType: "json",
data: serializedForm,
success: function (result) {
if (result.Success==true)
{
location.reload();
}
},
error: function(xhr, status, error) {
//alert(error.Message);
}
});
return false;
}
});