数组上的javascript验证未运行
我已经阅读了很多文章,并尝试了各种选项,但我对JavaScript的验证检查似乎没有运行 我用它来尝试写一个验证检查,看看输入的邮政编码是否是一个发送到的邮政编码,但是当我运行它时,什么都没有发生,两个警报都没有显示。感谢您的帮助 这是我使用的JavaScript:数组上的javascript验证未运行,javascript,jquery,validation,Javascript,Jquery,Validation,我已经阅读了很多文章,并尝试了各种选项,但我对JavaScript的验证检查似乎没有运行 我用它来尝试写一个验证检查,看看输入的邮政编码是否是一个发送到的邮政编码,但是当我运行它时,什么都没有发生,两个警报都没有显示。感谢您的帮助 这是我使用的JavaScript: <script type="text/javascript"> function validateZip() { var zipCode = $("#zipCode").val(); var accept
<script type="text/javascript">
function validateZip() {
var zipCode = $("#zipCode").val();
var acceptableZipCodes = ["78205","72215","78212",];
if( $.inArray( zipCode, acceptableZipCodes)){
alert("Yes, we can help!");
}else{
alert("Sorry, we don't deliever to your area yet.");
}
}
</script>
函数validateZip(){
var zipCode=$(“#zipCode”).val();
var可接受ZipCodes=[“78205”、“72215”、“78212”和];
if($.inArray(zipCode,可接受zipCode)){
警惕(“是的,我们可以帮忙!”);
}否则{
警惕(“对不起,我们还没有到达你的区域。”);
}
}
这是表格
<form name="zipForm" onsubmit="return(validateForm(zipCode))">
<input type="text" id="zipCode" name="zipCode">
<input id="user_info" type="submit">
</form>
函数validateZip(){
var zipCode=document.zipForm.zipCode.value;
var可接受ZipCodes=[“78205”、“72215”、“78212”和];
对于(i=0;i
我会对表单标记使用ID而不是name属性(以便更快地检索)
下面,我会这样做:
<script>
$(function() {
// add an event handler to your form (look at adeneo's comment)
$('#zipForm').on('submit', function(e) {
// prevent form from submitting
e.preventDefault();
// call your function
validateZip($("#zipCode").val());
});
function validateZip(zipCode) {
var acceptableZipCodes = ["78205", "72215", "78212"];
// be careful with using $.inArray as the return value for no
// matches is -1 (and not false)
if ($.inArray(zipCode, acceptableZipCodes) != -1) {
alert("Yes, we can help!");
} else {
alert("Sorry, we don't deliever to your area yet.");
}
}
});
</script>
$(函数(){
//在表单中添加事件处理程序(查看adeneo的注释)
$('zipForm')。关于('submit',函数(e){
//阻止表单提交
e、 预防默认值();
//调用你的函数
validateZip($(“#zipCode”).val());
});
函数validateZip(zipCode){
var可接受ZipCodes=[“78205”、“72215”、“78212”];
//请小心使用$.inArray作为no的返回值
//匹配项为-1(且不为false)
if($.inArray(zipCode,可接受ZipCodes)!=-1){
警惕(“是的,我们可以帮忙!”);
}否则{
警惕(“对不起,我们还没有到达你的区域。”);
}
}
});
我发现了两个错误。
1,您定义了validateZip函数,但没有在脚本中调用它。
2,inArray()函数将返回值在数组中的位置,因此当值不在数组中时,它将返回-1
我对代码做了一些修改。
希望对你有帮助
<form name="zipForm" onsubmit="return(validateZip())">
<input type="text" id="zipCode" name="zipCode">
<input id="user_info" type="submit">
</form>
<script type="text/javascript">
function validateZip() {
var zipCode = $("#zipCode").val();
var acceptableZipCodes = ["78205","72215","78212",];
if( $.inArray( zipCode, acceptableZipCodes) !== -1){
alert("Yes, we can help!");
}else{
alert("Sorry, we don't deliever to your area yet.");
}
}
</script>
函数validateZip(){
var zipCode=$(“#zipCode”).val();
var可接受ZipCodes=[“78205”、“72215”、“78212”和];
if($.inArray(zipCode,可接受zipCode)!=-1){
警惕(“是的,我们可以帮忙!”);
}否则{
警惕(“对不起,我们还没有到达你的区域。”);
}
}
您应该检查它是否小于-1:
if($.inArray( zipCode, acceptableZipCodes) > -1)
这里是一个JSFIDLE示例:您的浏览器开发人员控制台中是否有任何错误?谢谢,这正是我所需要的!谢谢!我也会继续添加
<form name="zipForm" onsubmit="return(validateZip())">
<input type="text" id="zipCode" name="zipCode">
<input id="user_info" type="submit">
</form>
<script type="text/javascript">
function validateZip() {
var zipCode = $("#zipCode").val();
var acceptableZipCodes = ["78205","72215","78212",];
if( $.inArray( zipCode, acceptableZipCodes) !== -1){
alert("Yes, we can help!");
}else{
alert("Sorry, we don't deliever to your area yet.");
}
}
</script>
if($.inArray( zipCode, acceptableZipCodes) > -1)