2012-02-07 41 views
0

昨晚有人在這裏真的幫我從頭開始第一次驗證,我從昨天晚上開始進行了很多。這是我第一次碰到JQuery,我爲我的crumby編碼道歉。下面是我的作品很好,很正常的驗證,直到最後else語句:第一個JQuery項目...有點卡住

//VALIDATE FIRST REGISTER PAGE! 
$('#submit1').live('click', function() { 
    check_value1(); 

}); 

function check_value1(){ 
var firstname = $('#firstname').val(); 
var lastname = $('#lastname').val(); 
var email = $('#email').val(); 
var password = $('#password').val(); 
var username = $('#username').val(); 

if(firstname =='' || firstname.length <2) 
$('#fnameError').fadeIn().fadeOut(5000); 

else if(lastname =='' || lastname.length <2) 
$('#lnameError').fadeIn().fadeOut(5000); 

else if(email =='' || email.length <5) 
$('#emailError').fadeIn().fadeOut(5000); 

else if(password =='' || password.length <6) 
$('#passError').fadeIn().fadeOut(5000); 

else if(username =='' || username.length <5) 
$('#usernameError').fadeIn().fadeOut(5000); 

else 
{ 
$('#register1').fadeOut(); 
$('#register2').fadeIn(); 
} 
} 

//VALIDATE SECOND REGISTER PAGE 

$('#submit2').live('click', function() { 
    check_value2(); 
}); 

function check_value2(){ 

var gender = $('#gender').val(); 
var seeking = $('#seeking').val(); 
var month = $('#month').val(); 
var day = $('#day').val(); 
var year = $('#year').val(); 


if(gender =='' || gender.length <4) 
$('#genderError').fadeIn().fadeOut(5000); 

else if(seeking =='' || seeking.length <4) 
$('#seekingError').fadeIn().fadeOut(5000); 

else if(month =='' || month.length > 2) 
$('#monthError').fadeIn().fadeOut(5000); 

else if(day =='' || day.length > 2) 
$('#dayError').fadeIn().fadeOut(5000); 

else if(year =='' || year.length > 4 || year > 1994) 
$('#yearError').fadeIn().fadeOut(5000); 

else 
{ 
$('#register2').fadeOut(); 
$('#register3').fadeIn(); 
} 

} 

//VALIDATE THIRD PAGE 

$('#submit3').live('click', function() { 
    check_value3(); 
}); 

function check_value3(){ 

var height = $('#height').val(); 
var body_type = $('#body_type').val(); 
var ethnicity = $('#ethnicity').val(); 
var religion = $('#religion').val(); 

if(height =='' || height.length <3) 
$('#heightError').fadeIn().fadeOut(5000); 

else if(body_type =='' || body_type.length <4) 
$('#bodyError').fadeIn().fadeOut(5000); 

else if(ethnicity =='' || ethnicity.length <5) 
$('#ethError').fadeIn().fadeOut(5000); 

else if(religion =='' || religion.length <5) 
$('#relError').fadeIn().fadeOut(5000); 

else 
{ 
$('#register3').fadeOut(); 
$('#register4').fadeIn(); 
} 

} 

//VALIDATE FOUTH PAGE 

$('#submit4').live('click', function() { 
    check_value4(); 
}); 

function check_value4(){ 

var city = $('#city').val(); 
var state = $('#state').val(); 
var zip = $('#zip').val(); 

if(city =='' || city.length <2) 
$('#cityError').fadeIn().fadeOut(5000); 

else if(state =='' || state.length <2) 
$('#stateError').fadeIn().fadeOut(5000); 

else if(zip =='' || zip.length <5) 
$('#zipError').fadeIn().fadeOut(5000); 

else 
{ 

var firstnameA = encodeURIComponent($('#firstname').val()); 
var lastnameA = encodeURIComponent($('#lastname').val()); 
var emailA = encodeURIComponent($('#email').val()); 
var passwordA = encodeURIComponent($('#password').val()); 
var usernameA = encodeURIComponent($('#username').val()); 
var genderA = encodeURIComponent($('#gender').val()); 
var seekingA = encodeURIComponent($('#seeking').val()); 
var monthA = encodeURIComponent($('#month').val()); 
var dayA = encodeURIComponent($('#day').val()); 
var yearA = encodeURIComponent($('#year').val()); 
var heightA = encodeURIComponent($('#height').val()); 
var bodytypeA = encodeURIComponent($('#body_type').val()); 
var ethnicityA = encodeURIComponent($('#ethnicity').val()); 
var religionA = encodeURIComponent($('#religion').val()); 
var cityA = encodeURIComponent($('#city').val()); 
var stateA = encodeURIComponent($('#state').val()); 
var zipA = encodeURIComponent($('#zip').val()); 
$('#register4').fadeOut(5000); 
$('#loading').show(); 
$.ajax 
({ 
type: "POST", 
url: "../register.php", 
data: {firstnameB:firstnameA, lastnameB:lastnameA, emailB:emailA, passwordB:passwordA, usernameB:usernameA, genderB:genderA, seekingB:seekingA, monthB:monthA, day:dayA, yearB:yearA, heightB:heightA, bodytypeB:bodytypeA, ethnicityB:ethnicityA, religionB:religionA, cityB:cityA, stateB:stateA, zipB:zipA }, 
success: function(){ $('#loading_text').delay(5000).hide(); $('#success').fadeIn();} 
}); 
    return false; 
} 

} 

這最後一條語句應該採取的值的用戶輸入,並將其通過AJAX發送到register.php文件。我不認爲我正確地調用了該功能。註冊PHP工作正常,沒有JQuery和AJAX。供大家參考,如果你需要的話,我會後我的HTML的快速版本和方式我的PHP解碼傳送的變量:

<input type="submit" value="Register" id="submit4"/> 

那最後的提交按鈕,應該激活最後一個函數。

這裏是我的PHP的開頭以及它如何解碼變量發送

$email_a = htmlspecialchars(trim(urldecode($_POST['emailB']))); 
    $user_name_a = htmlspecialchars(trim(urldecode($_POST['usernameB']))); 
    $pwd_unencrypted_a = htmlspecialchars(trim(urldecode($_POST['passwordB']))); 
    $first_name_a = htmlspecialchars(trim(urldecode($_POST['firstnameB']))); 
    $last_name_a = htmlspecialchars(trim(urldecode($_POST['lastnameB']))); 

    $month = htmlspecialchars(trim(urldecode($_POST['monthB']))); 
    $day = htmlspecialchars(trim(urldecode($_POST['dayB']))); 
    $year = htmlspecialchars(trim(urldecode($_POST['yearB']))); 

    $city_a = htmlspecialchars(trim(urldecode($_POST['cityB']))); 
    $state_a = htmlspecialchars(trim(urldecode($_POST['stateB']))); 
    $zip_a = htmlspecialchars(trim(urldecode($_POST['zipB']))); 
    $gender_a = htmlspecialchars(trim(urldecode($_POST['genderB']))); 
    $gender_of_interest_a = htmlspecialchars(trim(urldecode($_POST['seekingB']))); 
    $height_cm_a = htmlspecialchars(trim(urldecode($_POST['heightB']))); 
    $body_type_a = htmlspecialchars(trim(urldecode($_POST['bodytypeB']))); 
    $ethnicity_a = htmlspecialchars(trim(urldecode($_POST['ethnicityB']))); 
    $religion_a = htmlspecialchars(trim(urldecode($_POST['religionB']))); 

    $email = strip_tags($email_a); 
    $user_name = strip_tags($user_name_a); 
    $pwd_unencrypted = strip_tags($pwd_unencrypted_a); 
    $first_name = strip_tags($first_name_a); 
    $last_name = strip_tags($last_name_a); 
    $city = strip_tags($city_a); 
    $state = strip_tags($state_a); 
    $zip = strip_tags($zip_a); 
    $gender = strip_tags($gender_a); 
    $gender_of_interest = strip_tags($gender_of_interest_a); 
    $height_cm = strip_tags($height_cm_a); 
    $body_type = strip_tags($body_type_a); 
    $ethnicity = strip_tags($ethnicity_a); 
    $religion = strip_tags($religion_a); 
    $edu = strip_tags($edu_a); 




    $pwd = md5($pwd_unencrypted); 
    $full_name = $first_name . " " . $last_name; 
    $pwd_for_email = $pwd_unencrypted; 

    $this_day = date(j); 
    $this_month = date(m); 
    $this_year = date(Y); 

    $find_height_ft = mysql_query("SELECT * FROM height WHERE CM = '$height_cm'"); 
    while($find_height = mysql_fetch_array($find_height_ft)) 
    { 
    $height_ft_a = $find_height['feet_inches']; 
    } 
    $height_ft = mysql_real_escape_string($height_ft_a); 

    $find_zodiac = mysql_query("SELECT * FROM zodiac WHERE Month_Z = '$month' AND Day_Z = '$day'"); 
    while($find_zodiac_array = mysql_fetch_array($find_zodiac)) 
    { 
    $zodiac = $find_zodiac_array['Sign_Z']; 
    } 




if($this_month > $month) 
{ 
$age = $this_year - $year; 
} 
elseif($this_month <= $month && $this_day < $day) 
{ 
$age = $this_year - $year - 1; 
} 
else 
{ 
$age = $this_year - $year; 
} 

if($age >= 18) 
{ 
//I EDITED THIS OUT TO SAVE YOU GUYS THE TIME OF READING IT basically if all above checks out that you're 18, it will insert the variables into the DB this works fine here. 
} 

所以我不能確定那就是我的方式編碼/解碼的變量或我的方式調用最後一個函數。我很抱歉我的代碼太笨重,寫得很糟糕。

你們以前一直幫我出去一堆!我非常感謝提供的任何幫助。 -Mike

回答

2

而是每個值賦值給一個獨立的變量,你可以把它全部使用jQuery的功能,如:

$('#register4').fadeOut(5000); 
$('#loading').show(); 
$.ajax({ 
    type: "POST", 
    url: "../register.php", 
    data: $('#form').serialize(), 
    success: function(){ $('#loading_text').delay(5000).hide(); $('#success').fadeIn();} 
}); 

通知我以前$('#form').serialize(),確保選擇的形式,其中所有輸入被定位,然後它將採用輸入值並以編碼形式提交它們,因此您不必分別對每個輸入進行編碼。

+0

OHHH!該死的讓事情變得容易多了。現在修復。謝謝一堆。 – user1053263 2012-02-07 22:02:00

+0

在PHP中我應該調用unserialize()函數來解碼這個? – user1053263 2012-02-07 22:12:19

+2

在php中,所有的變量都將在'$ _POST'數組中,您不必解碼它們。 – 2012-02-07 22:16:40