在我问实际问题之前,这是一个愚蠢的咆哮。我发誓我讨厌javascript以及与之相关的所有内容。
现在的实际问题。 我有一个asp.net网络表单。我可以通过asp.net代码及其工作将数据发送到我的web api控制器。我现在尝试使用jquery通过客户端ajax发布数据,但如果表单有效或无效,我无法得到简单的真或假。它是一个bootstrap v3表单。有人请帮我摆脱这种疯狂的旅程。我搜索了无数问题,但没有找不到。一切都在工作,包括发布和返回消息,只是这个愚蠢的小事不会
我只想知道如何在我ajax之前获得表单有效性状态。简单。
编辑: 此按钮点击事件有效。
$("#additional").click(function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/api/data",
data: $('form.form-horizontal').serialize(),
success: function(msg){
swal(msg,"Success","success");
},
error: function(){
swal("failure");
}
});
});

基本上我希望上面的ajax只在表单有效时运行。我已经要求'我的表单字段上已有标记。
答案 0 :(得分:2)
你的问题不明确,但如果你的意思是有一些输入他们不应该是空的或空的,并且在有效的主题调用ajax后你可以做这样的事情:
<form class="form-horizontal"> <input type="text" required class="SubscribeText" name="email"> <input type="button" class="postmethod" value="Send"></form>
$(".postmethod").click(function() {
if ($(".SubscribeText").val().length>0) {
$.ajax({
type: "POST",
url: "/api/data",
data: $('form.form-horizontal').serialize(),
success: function(msg){
swal(msg,"Success","success");
},
error: function(){
swal("failure");
}
});
}
});
如果你有一些输入,最佳做法是使用标志,对于on click flag = true,哪个输入失败验证应该将标志更改为false然后如果标志为真则调用ajax方法。