我真的很感謝JQuery中的表單驗證。我是一個noob,所以如果這很簡單,請提前道歉。當使用不同的輸入表單(輸入和文本區域)時出現JQuery Validator問題
基本上,我想驗證調查表上的表格。在表單中有兩種類型的輸入 - 一種是使用JQuery Range Slider(1到5級)的輸入,另一種是用戶可以在其中輸入想法的textarea輸入框。
所以驗證器插件工作正常,並檢查所有的字段,然後用紅色標記不完整。當用戶填寫了所需的信息時,我的問題就出現了。只要用戶突出顯示框,我可以讓textarea驗證並刪除紅色標籤,但是輸入不會驗證它是否已經驗證過一次並拿起一個錯誤。
我的一些HTML表格:
<tr>
<td>Rate how confident you feel about your knowledge on the subject</td>
<td class="slider-holder">
<div class="slider num"></div>
<input class="sliderValue validateFormClass" type="text" readonly="true" name="fb_33" required />
</td>
</tr>
<tr>
<td>List three important concepts or ideas that you learned in this course</td>
<td class="slider-holder">
<textarea name="fb_34" class="textAreaFBSurvey validateFormClass" required></textarea>
</td>
</tr>
我的jQuery驗證碼:
$(document).ready(function() {
$('.form-required').validate({
onclick: false,
focusInvalid: false,
focusCleanup: true,
errorPlacement: function (error, element) {
$('.error-message').removeClass('hidden');
$(element).closest('tr').addClass('error');
},
onfocusout: function (error, element) {
$('textarea.valid').closest('tr').removeClass('error');
},
submitHandler:function (form) {
form.submit();
},
});
});
我想實現的是,應該在用戶提交一個不完整表格中,缺少的字段將被標記爲紅色。只要該用戶填寫剩餘的字段,無論是textarea還是輸入,「錯誤」類都將被刪除,而無需單擊「提交」按鈕。這使得它更具視覺吸引力,並且更容易理解所有字段都是完整的。
我已經試了兩天,現在還沒有弄清楚,所以任何方向或簡單的「這是不可能的」將不勝感激。
非常感謝
textarea是您從中移除'.error'類的唯一元素嗎? – adeneo
'$('。valid')。closest('tr')。removeClass('error');' – adeneo
所以這確實有幫助,但這是另一個問題 - 所有的textareas驗證,但只有第一個輸入,我點擊在此之後,沒有其他輸入被驗證。我想知道是否可能與Bootstrap或Range Slider插件有衝突。 – PsydeStep