我正在編程一個網站,有什麼功能是不用提的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)'所以你可以看到事情出錯的地方。請告訴我們你從哪裏開始獲得你不期望的價值。 –