javascript - 如何使用 JavaScript/jQuery 进行简单的客户端表单验证?

标签 javascript jquery html css web

我在 CodeCademy 上做一个元素系列,我在该系列中有一个元素使用 JavaScript/jQuery 进行客户端表单验证。

我的 HTML 是:

<!DOCTYPE html>
<html>
<head>
<title>Form Validation</title>
  <link rel='stylesheet' href='stylesheet.css' type='text/css'/>
  <script type='text/javascript' src='script.js'></script>
</head>
<body>
 <form>
  First Name : <input type='text' id='fname' placeholder='Enter First Name'><br><br>
  Last Name : <input type='text' id='lname' placeholder='Enter Last Name'><br><br>
  Age : <input type='text' id='age' placeholder='Age'><br><br>
  Sex : <input type='radio' class='sex'> Male <input type='radio' class='sex'> Female
 </form>
 <button id='submit'>Submit</button>
</body>
</html>

我的 JavaScript/jQuery 是:

$(document).ready(function()
{
 var fname = document.getElementById('fname').val();
 var lname = document.getElementById('lname').val();
 var age = document.getElementById('age').val();
 /*Do not know how to get element by class and that too, two different type. Have to check if user chose anything or not*/

  $("#submit").click(function()
  {
   if(fname.length === 0)
   {
    alert("Please input a first name");
   }
   else if(lname.length === 0)
   {
    alert("Please input a last name");
   }
   else if(age.length === 0)
   {
    alert("Please input an age");
   }
  });
});

我不需要非常复杂的代码,如果那里有什么问题或者需要在那里添加什么,请在 HTML 部门帮助我。

此外,我不知道如何在一个类中获取不同的元素。我已经在我的 jQuery 中对此发表了评论,所以请尽可能提供帮助。

这是 CodeCademy 元素中的一个问题,这是很多 JS 和 jQuery 新手遇到的问题,所以如果你能提供帮助,它会帮助很多人,而不仅仅是我。

谢谢!

最佳答案

您需要使用 .value 而不是 .val() 因为您使用的是纯 Javascript:

var fname = document.getElementById('fname').value;
var lname = document.getElementById('lname').value;
var age = document.getElementById('age').value;

如果你想使用 .val() 方法,那么你需要一个 jQuery 对象:

var fname = $('#fname').val();
var lname = $('#lname').val();
var age = $('#age').val();

您还需要将这些变量放在 .click() 处理程序中以获取这些文本框的更新值,目前您只能在页面加载时检索始终等于 0:

$(document).ready(function () {
    $("#submit").click(function () {
        var fname = document.getElementById('fname').value;
        var lname = document.getElementById('lname').value;
        var age = document.getElementById('age').value;

        if (fname.length == 0) {
            alert("Please input a first name");
        } else if (lname.length == 0) {
            alert("Please input a last name");
        } else if (age.length == 0) {
            alert("Please input an age");
        }
    });
});

Fiddle Demo

关于javascript - 如何使用 JavaScript/jQuery 进行简单的客户端表单验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23668065/

相关文章:

php - 未找到图像或类型未知(使用tinymce和dompdf来显示存储在pdf中tinymce文本区域中的html)

javascript - 如何向 jQuery 添加元素旋转?

html - 将固定元素定位在页面之外

javascript - 当触发按键、复选框或选择时将值保存到 json 对象中

javascript - Nodejs AWS Lambda 切换到另一个帐户访问权限和 key 以执行功能

javascript - 在服务器上发布后,asp.net mvc ajax 调用不调用 Controller

javascript - 编写数组的最佳实践

jquery - 如何使用 jquery 选项卡重定向到另一个网页?

javascript - ReactJS:从表单获取数据

html - 如何防止表格单元格在 CSS 中换行?