Che.. prikeliu seną temą su gan naiviu prašymu.. :))
Turiu problemą su jQueriu, keistuolis siunčia po du ir daugiau post'us.. gal kas nors galėtumėt užmesti akį ir jeigu nesunku pataisyti? (Gi ne daug kartų esu prašęs parašyti kažką gatavo, eh? :D )
Na, o rimčiau jeigu turite kas nors laiko ir noro žvilgtelkite į kodą ir pasakykite kur ko maždaug ko ieškot..
Taigi, pilnas kodas:
$(document).ready(function()
{
/****************Duomenu atnaujinimas***********************/
$('#add').hide();
var connError = 'Nepavyko prisijungti prie serverio.. Pabandykite perkrauti puslapi (F5) ir meginkite dar karta.';
var prevent = false;
var ssId = $('#content').attr('ssId');
var timer, delay = 3000; //test time..
//var timer, delay = 300000; //5 min
timer = setInterval(function(){
$.ajax({
type: 'POST',
url: '1.php',
data: "?action=check&ssId="+ssId,
error: function(){
alert(connError);
$("#content").addClass('loading');
clearInterval(timer);//stabdome tolimesni programos veikima..
$('#add').hide();
prevent = true;
return false;
},
success: function(data){
prevent = false;
}
});
},
delay);
/****************Duomenu atnaujinimas_END***********************/
//**************************************************************/
//**************************************************************/
/****************Prideti nauja iraša****************************/
$('table#content th a.add').click(function()
{
if(prevent)
return false
if(status = $('#add').is(':visible')) {
$('#add').hide();
}else{
$('#add').show();
/**********************Validacija***************************/
var submit_name = false;
var submit_full_name = false;
var submit_password = false;
var submit_date = false;
var submit_phone = false;
/******************Vardas************************/
$('#name').change(function() {
var vardas = $("#name").val();
var vardas_size = vardas.length;
var validate_vardas = vardas.match(/[a-zA-Z0-9]/g);
var validate = (validate_vardas ? validate_vardas.length : 0);
if((vardas_size === validate) && (vardas_size >= 4) && (vardas_size <= 8)) {
$("#content").addClass('loading');
$.ajax({
type: 'POST',
url: 'ajax/main.php',
data: "id=user_check&&"+"name="+vardas+"&&ssId="+ssId,
error: function(){
alert(connError);
$("#content").addClass('loading');
$('#add').hide();
prevent = true;
},
success: function(responce){
$("#content").removeClass('loading');
prevent = false;
if(responce == 'available') {
submit_name = true;
check_class("#name", 'v_error', 'v_ok');
}else{
$("#name").addClass('v_error');
submit_name = false;
}
}
});
}else{
$("#name").addClass('v_error');
submit_name = false;
}
});
}
/******************Vardas_END********************/
/******************Pilnas Vardas*****************/
$('#full_name').change(function() {
var pilnas_vardas = $("#full_name").val();
var pilnas_vardas_size = pilnas_vardas.length;
var validate_pilnas_vardas = pilnas_vardas.match(/[a-zA-Z0-9]/g);
var validate = (validate_pilnas_vardas ? validate_pilnas_vardas.length : 0);
if((pilnas_vardas_size === validate) && (pilnas_vardas_size >= 6) && (pilnas_vardas_size <= 12)) {
submit_full_name = true;
check_class("#full_name", 'v_error', 'v_ok');
}else{
submit_full_name = false;
//$("#full_name").addClass('v_error');
check_class("#full_name", 'v_ok', 'v_error');
}
});
/******************Pilnas Vardas_END*************/
/******************Slaptazodis*******************/
$('#password').change(function() {
var slaptazodis = $("#password").val();
var pilnas_vardas_size = slaptazodis.length;
var validate_slaptazodis = slaptazodis.match(/[a-zA-Z0-9]/g);
var validate = (validate_slaptazodis ? validate_slaptazodis.length : 0);
if((pilnas_vardas_size === validate) && (pilnas_vardas_size >= 6) && (pilnas_vardas_size <= 12)) {
submit_password = true;
check_class("#password", 'v_error', 'v_ok');
}else{
submit_password = false;
$("#password").addClass('v_error');
}
});
/******************Slaptazodis_END***************/
/******************Gimimo data*******************/
$("select").change(function () {
$("#date_years").change(function years() {
var date_years = $("#date_years").val();
if(date_years == '0')
return false;
return true;
});
$("#date_month").change(function month() {
var date_month = $("#date_month").val();
if(date_month == '0')
return false;
return true;
});
$("#date_day").change(function day() {
var date_day = $("#date_day").val();
if(date_day == '0')
return false;
return true;
});
var years = years();
var month = month();
var day = day();
var validation = true;
if((years === false) && (month === true || day === true)) {
if(years === false) {
validation = false;
}
}
if ((years === true) && (month === true || day === true)) {
validation = false;
}
if ((years === true) && month === true && day === true) {
validation = true;
}
//alert(validation);
if(validation === false) {
submit_date = false;
$("#date_years").addClass('v_d_error');
$("#date_month").addClass('v_d_error');
$("#date_day").addClass('v_d_error');
}else{
submit_date = true;
$("#date_years").removeClass('v_d_error');
$("#date_month").removeClass('v_d_error');
$("#date_day").removeClass('v_d_error');
}
});
/******************Gimimo data_END***************/
/******************Telefono nr*******************/
$('#telephone').change(function() {
var telephone = $("#telephone").val();
var telephone_size = telephone.length;
var validate_telephone = telephone.match(/[0-9]/g);
var validate = (validate_telephone ? validate_telephone.length : 0);
if((telephone_size === validate) && (telephone_size >= 5) && (telephone_size <= 9)) {
check_class("#telephone", 'v_error', 'v_ok');
submit_phone = true;
}else{
submit_phone = false;
$("#telephone").addClass('v_error');
}
});
/******************Telefono nr_END***************/
/**********************Validacija_END***********************/
$('#content_clear').click(function() {
submit = false;
clear_values("#name", '');
clear_values("#full_name", '');
clear_values("#password", '');
clear_values("#date_years", '0');
clear_values("#date_month", '0');
clear_values("#date_day", '0');
clear_values("#telephone", '');
});
$('#content_new').click(function() {
var submit_validation = false;
var submit_add = false;
submit_validation = ($('#name').change() ? true : false);
submit_validation = ($('#full_name').change() ? true : false);
submit_validation = ($('#password').change() ? true : false);
submit_validation = ($('#date_years').change() ? true : false);
submit_validation = ($('#date_month').change() ? true : false);
submit_validation = ($('#date_day').change() ? true : false);
submit_validation = ($('#telephone').change() ? true : false);
submit_validation = ($('#telephone').change() ? true : false);
submit_add = (submit_name && submit_full_name && submit_password && submit_date && submit_phone ? true : false);
if(submit_add) {
$.ajax({
type: 'POST',
url: 'ajax/main.php',
data: "id=add_new&&"+"&&name="+$("#name").val()+"&&full_name="+$("#full_name").val()+"&&password="+$("#password").val()+"&&date_years="+$("#date_years").val()+"&&date_month="+$("#date_month").val()+"&&date_day="+$("#date_day").val()+"&&telephone="+$("#telephone").val()+"&&ssId="+ssId,
error: function(){
alert(connError);
},
success: function(responcenew){
alert(responcenew);
if(responcenew == 'add_success') {
clear_values("#name", '');
clear_values("#full_name", '');
clear_values("#password", '');
clear_values("#date_years", '0');
clear_values("#date_month", '0');
clear_values("#date_day", '0');
clear_values("#telephone", '');
$('#add').hide();
return false;
}else{
alert('Ooops.. nepavyko patvirtinti jūsų įvestų duomenų..');
}
}
});
return false;
}
return false;
});
return false;
});
/****************Prideti nauja iraša_END************************/
/****************Ištrinti iraša*********************************/
$('table#content td a.delete').click(function()
{
if(prevent)
return false
if (confirm("Ar Jus tikrai norite ištrinti ši iraša?"))
{
var id = $(this).parent().parent().attr('id');
var data = 'id=' + id ;
var parent = $(this).parent().parent();
$.ajax(
{
type: "POST",
url: "index.php",
data: data,
cache: false,
error: function(){
alert('Nepavyko prisijungti..');
$("#content").addClass('loading');
},
success: function()
{
parent.fadeOut('slow', function() {$(this).remove();});
}
});
}
return false;
});
/****************Ištrinti iraša_END*****************************/
/****************F-jos******************************************/
/******************CSS Klases************************/
function check_class(atribute, class_name, add_class) {
if($(atribute).hasClass(class_name)) {
$(atribute).removeClass(class_name);
$(atribute).addClass(add_class);
}else{
$(atribute).addClass(add_class);
}
}
function remove_class(atribute) {
}
function clear_values(atribute, value) {
$(atribute).val(value);
$(atribute).removeClass()
submit = false;
}
/******************CSS Klases_END********************/
});
Dėkui!
Geros dienos. :))