我正在尝试用Ajax提交一个表单验证功能。由于某种原因,验证不起作用,当它提交时,我的服务器得到了空字段(当我测试验证时),但它显示它试图发布到同一个页面...我不知道为什么。
表格:
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<form id='form' novalidate method="post" class='m-2 p-1'>
<div class='row'>
<div class='col p-1'>
<div class="form-floating mb-3">
<input required type="text" name='First Name' class="form-control" id="fname" placeholder="First Name">
<label for="fname">First Name<span class='red' aria-label='required'> *</span></label>
</div>
</div>
<div class='col p-1'>
<div class="form-floating mb-3">
<input required type="text" name='Last Name' class="form-control" id="lname" placeholder="Last Name">
<label for="lname">Last Name</label>
</div>
</div>
</div>
<div class='row'>
<div class='col p-1'>
<div class="form-floating mb-3">
<input required type="email" name='Email' class="form-control" id="email" placeholder="Email">
<label for="lname">Email <span class='red' aria-label='required'> *</span></label>
</div>
</div>
<div class='col p-1'>
<div class="form-floating mb-3">
<select required name='Reason For Contacting' class="form-control" id="reason" placeholder="Reason For Contacting">
<option value='Feedback' selected>Feedback</option>
<option value='other'>Other</option>
</select>
<label for="why">Reason For Contacting<span class='red' aria-label='required'> *</span></label>
</div>
</div>
</div>
<div class='row'>
<div class='col p-1'>
<div class="form-floating mb-3">
<textarea required name='Comments' class="form-control" id="comment" placeholder="Your Comments"></textarea>
<label for="comment">Your Comments<span class='red' aria-label='required'> *</span></label>
</div>
</div>
</div>
<div class='row'>
<div class='col p-1'>
<button class='form-control btn btn-outline-primary' id='submit'>Send</button>
</div>
</div>
</form>
我的JS文件:
x一个一个一个一个x一个一个二个x
提交时的位置(表单位于此URL):
你知道我应该怎么做吗?我正在使用node.js
和express.js
。
我在submit事件处理程序中添加了:e.preventDefault()
,但是现在当我提交表单而不填写任何内容时,我会收到以下通知:
1条答案
按热度按时间o8x7eapl1#
我修改了你的点击处理程序:
错误声明
validate()函数
和email()函数
我还删除了send(),因为它没有被使用,用var声明了sendForm()中的变量,并添加了许多分号-〉也许在您的代码中已经缺少了一个,您希望js错误纠正会自动添加它们...
最后,我将参数showIcon添加到您的Notify对象中(这是“未定义”部分;)