我正在使用 Jquery 验证插件 (http://jqueryvalidation.org/) 进行一些简单的前端表单验证。据我所知,它的所有工作正常,但是现在我的表单似乎试图以获取方式发送而不是发布(所有数据都保存到查询字符串中并重新加载到页面上)。真的很奇怪,我不知道我在这里做错了什么
HTML
<form id ="form1">
<p>What do you do for a living?</p>
<select name="Job">
<option value="4">job4</option>
<option value="3">job3</option>
<option value="2">job2</option>
<option value="1">job1</option>
</select>
<input type="submit" value="Submit" id ="formButton">
</form>
Javascript
var form = $("form");
form.validate();
$("#button").click(function () {
var isValid = form.valid();
if (isValid) {
console.log("Valid: " + form.valid() + "form validation passed");
var frm = $('#form1');
frm.submit(function (ev) {
$.ajax({
type: "POST",
url: "form_validation.php",
data: frm.serialize(),
success: function (data) {
if (data.error) {
alert(data.error);
} else {
alert(data.message + " " + data.sql);
}
}
});
});
ev.preventDefault();
} else {
console.log("form validation failed");
}
});
最佳答案
检查您使用的 jQuery 版本。用于请求的默认方法
或类型
是GET
。
在您的情况下,如果您使用的是 > 1.9.0
版本的 jQuery,则使用 method
属性。
否则 type
属性应该按原样工作。
方法:'POST'
关于javascript - 使用 Jquery validate 时,表单尝试以 get 方式提交而不是 post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31793772/