如何使用jQuery验证表单

c90pui9n  于 2024-01-07  发布在  jQuery
关注(0)|答案(1)|浏览(167)

我知道这个问题有很多答案,但我想用来自Google Forms这样的数据库的动态输入字段来验证整个表单。

Html

  1. <div class="rs_card"><span style="font-size: 1em;">How to create website like programmer?</span><div class="col-3" style="margin-top: 5%"><input type="text" placeholder="Placeholder Text" class="input_field required"><span class="focus-border"></span></div></div>
  2. <div class="rs_card"><span style="font-size: 1em;">How to create art like painter?</span><div class="col-3" style="margin-top: 5%"><input type="text" placeholder="Placeholder Text" class="input_field required"><span class="focus-border"></span></div></div>
  3. <div class="rs_card"><span style="font-size: 1em;">How to create transition effect like materialize css</span><div class="col-3" style="margin-top: 5%"><input type="text" placeholder="Placeholder Text" class="input_field required"><span class="focus-border"></span></div></div>

字符串

JS

  1. $(document).ready(function(){
  2. $('input.required').each(function(){
  3. $(this).on('input', function(){
  4. if($(this).val() == ''){
  5. $(this).parents('div.rs_card').addClass('invalid_card');
  6. } else{
  7. $(this).parents('div.rs_card').removeClass('invalid_card');
  8. }
  9. });
  10. });
  11. });


我也尝试了keyup而不是input,但不起作用。下面这行代码工作正常(在其他条件下测试)。

  1. $(this).parents('div.rs_card').addClass('invalid_card');


这段代码不工作,谁能告诉我这段代码有什么问题?

guykilcj

guykilcj1#

'change'对你有用吗?
就像这样:
当然,在任何地方使用它之前,请删除console.log()语句并更改if条件。
只是为了示范。

  1. $(document).ready(function(){
  2. $('input.required').each(function(){
  3. $(this).on('change', function(){
  4. if($(this).val() == '123'){
  5. console.log("if");
  6. $(this).parents('div.rs_card').addClass('invalid_card');
  7. } else{
  8. console.log("else");
  9. $(this).parents('div.rs_card').removeClass('invalid_card');
  10. }
  11. });
  12. });
  13. });

个字符
这也适用于“keyup”,但当然每次用户释放按键时都会触发:https://jsfiddle.net/Chazlol/1co0y4ju/16/

展开查看全部

相关问题