我正在编程一个网站,有什么功能是不用提的atm。我已经设置了一些jQuery代码来使用ajax将数据通过表单插入到相关的数据库中。之前,它应该检查一些事情,比如一个输入与我设置的数组的值相同,等等。在以下是我的代码,真的无法找到,这是什么hella是错误的。这个else if语句在jQuery中有什么问题?
// AJAX, CREATE CATEGORY FUNCTION
$('#create_category_form').submit(function(event){
// VALID COLORS
var valid_colors = ["249,95,110,.72", // STD RED
"155,39,175,.72", // PURPLE
"102,58,182,.72", // DEEP PURPLE
"33,149,242,.72", // BLUE
"95,124,138,.72", // BLUE GREY
"0,149,135,.72", // TEAL
"64,147,67,.72", // GREEN
"254,86,34,.72", // DEEP ORANGE
"254,151,0,.72", // ORANGE
"120,84,71,.72"]; // BROWN
var colorchooser_value = $('#cat-color-value').val();
if($('#category_name').val().length === 0) {
$('.category-name').css('background','#FCCED3').focus();
return false;
} else if($('#cat-color-value').val().inArray(colorchooser_value, $valid_colors) == -1) {
$('.category-name').css('background','#FCCED3').focus();
return false;
} else {
event.preventDefault();
$.ajax({
type: 'GET',
url: '/functions/create_category.php',
data: $(this).serialize(),
success: function(data){
// REFRESH FORM
$('#create_category_form')[0].reset();
// CLOSE OVERLAYS
$('#create-category').toggleClass('toggleOverlay');
togglePageoverlay();
// SHOW INFO
$('#info-banner').addClass('toggleInfo');
$('#info-banner .inner .innertext').html('Category was successfully created!');
hideInfobannerDelayed();
}
});
}
});
我希望有人能帮助我。有必要检查给定输入的值是否与数组值中的一个相匹配。提前致谢。
如果我删除其他的如果部分,只是保持第一次检查工作正常,但如果我添加第二个检查颜色匹配的颜色在数组中,它将重新加载页面并在浏览器窗口中显示内容,而不向数据库中插入任何内容 –
当有人说他们的网站的功能不需要提及时,我总是发现它可疑。如果不需要提及,请不要提及它。否则,它只是听起来像你正在做的事情,你不应该;) –
如果你去浏览器的JavaScript控制台,你可以顺序运行'$('#cat-color-value')。val ().inArray(colorchooser_value,$ valid_colors)'所以你可以看到事情出错的地方。请告诉我们你从哪里开始获得你不期望的价值。 –