Javascript 在不刷新页面的情况下使用Ajax的表单验证问题
我的页面上有两个表单,我在提交时隐藏了一个Javascript 在不刷新页面的情况下使用Ajax的表单验证问题,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我的页面上有两个表单,我在提交时隐藏了一个myForm,以使用ajax显示其他otherForm 为此,我需要执行函数submit_form()onclick。由于提交时没有使用jQuery和Ajax刷新页面,因此如果字段为空,则表单myForm将隐藏而不发送数据 如何防止表单在提交前隐藏或验证其字段 这是我的表格: <form id="myForm" method="post"> Name: <input name="name" id="name" type="tex
myForm
,以使用ajax显示其他otherForm
为此,我需要执行函数submit_form()代码>onclick。由于提交时没有使用jQuery和Ajax刷新页面,因此如果字段为空,则表单myForm
将隐藏而不发送数据
如何防止表单在提交前隐藏或验证其字段
这是我的表格:
<form id="myForm" method="post">
Name: <input name="name" id="name" type="text" /><br />
Email: <input name="email" id="email" type="text" /><br />
<input class="newsletter" type="button" id="submitForm" value="Send" onclick="submit_form();"/>
使用Array#filter
length检查对象值是否存在
函数提交表单(){
var值={};
$.each($('#myForm').serializeArray(),函数(i,字段){
values[field.name]=field.value.trim();
});
if(Object.values(values).filter(a=>!a).length>0){
返回错误
}
console.log(值)
$('#myForm').hide();
$(“#其他形式”).show();
var name=$(“#name”).val();
var email=$(“#email”).val();
$.post(“submit.php”{
姓名:姓名,,
电邮:电邮,,
},
功能(数据){
$('#results').html(数据);
});
}
姓名:
电子邮件:
只需检查其是否为空,然后跳过ajax,
function submit_form() {
var values = {};
$.each($('#myForm').serializeArray(), function(i, field) {
values[field.name] = field.value;
});
$('#myForm').hide();
$('#otherForm').show();
var name = $("#name").val();
var email = $("#email").val();
$.post("submit.php", { name: name, email: email, },
function(data) {
$('#results').html(data);
});
}