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