【发布时间】:2020-08-26 15:32:55
【问题描述】:
我想对我的输入文本表单进行验证,除非完成所有输入表单,否则该用户无法进一步操作。我想通过每一个输入,即使第一个完成,用户也需要完成另外 2 个等,但此时我只能通过第一个并且不知道如何遍历每个输入文本.
我的html:
<div class="write-to-us">
<div class="col-md-12 field">
<p>Write to us</p>
</div>
<div class="col-md-12 field">
<div class="my-form">
<label>Name</label>
<input type="text" name="subject" class="my-text-input">
<div class="label-error">Write your Name</div>
</div>
</div>
<div class="col-md-12 field">
<div class="my-form">
<label>Surname</label>
<input type="text" name="subject" class="my-text-input">
<div class="label-error">Write your surname</div>
</div>
</div>
<div class="col-md-12 field">
<div class="my-form">
<label">Question</label>
<textarea type="text" name="subject" class="my-text-input"></textarea>
</div>
</div>
<div>
<button class="my-button">Check it</button>
</div>
</div>
还有我用于迭代的 js 代码:
myFunction: function() {
var $formField = $('.write-to-us');
if (!$formField.exists()) {
return;
}
initValidation();
function initValidation() {
var errorMsg = $formField.find('.label-error');
var button = $formField.find('.my-button');
var input = $formField.find('input');
var inputContainer = $formField.find('.my-form')
button.click(function(event) {
if(!input.val().trim()) {
errorMsg.css('visibility', 'visible');
inputContainer.addClass('error');
event.preventDefault();
}
});
},
我猜这个问题出在.find 上,应该是一些 jQuery .each 但我不知道如何更改它。
【问题讨论】:
-
.exists()是什么?猜你正在使用插件? -
所以遍历所有输入。不确定您在使用 api.jquery.com/each 时遇到了什么问题
-
.exists 是 jQuery 函数。我的问题是我不知道如何实现它。我尝试使用 .each,但每次都不起作用
标签: javascript jquery