Pereiti prie turinio

JS jquery, on click klaida


Rekomenduojami pranešimai

Sveiki, visa diena jau mirstu su kazkokia klaida kurios niekaip nerandu :)

 

O klaida tame, kad kai paspaudziu "uzsakyti" atsidaro "contact" from joje galima ja uzdaryti su "close" ir jei vartotojas tarkim atidaro forma ja uzdaro ir taip keliata kartu tuomet paspaudus "siusti" man ta contactu forma issiuncia tiek kartu kiek buvo paspaustas "uzsakyti" arba "close" (tiksliai nezinau i kuri cia taip reguoja).

 

mersas.lt yra ta forma jei kas norit pilna vaizda pamatyti :)

 

$("#uzsakyti").on('click', function(){
				if(prekiu_kiekis == 0){
					$("#erroras")
					.attr('etitl','KLAIDA!')
					.text('Tuščias krepšelis, pasirinkite bent vieną prekę')
					.dialog({
						show: {effect: "blind", duration: 400},
						hide: {effect: "blind", durattion: 400},
						buttons: {
						Ok: function () {
											$(this).dialog("close");
										}
						}
					}); 
				} else {

					//uzkraunam miestu sarasa
					$.get('/catalog/view/theme/default/template/module/forma/getmiestai.php', function(data){
						$('#miestas').html(data);
					});
					/////
					var sarasas = "",
						theValue = "";
					var kiek_r = 0;
					//nulinam viska
					$("input:radio").removeAttr("checked");
					$(".in_sarasas").empty();
					///
					///ikisam sarasa
					sarasas = $("#p_sarasas").html();
					$(".in_sarasas").append(sarasas);
					///
					///istrinam img
					$(".in_sarasas .delete").remove();
					///
					///parodom forma
					$(".contact").show(400);
					///close
					$(".close").on('click', function(){
						$(".contact").hide(400);
					});

					//tikrinam ar elpastas tinkamas
					var skai = 0;
					$("#pastas").on('change', function(){
						var myString = $("#pastas").val();
						var myArray = myString.split('');
						// display the result in myDiv
						for(var i=0;i<myArray.length;i++){
							if (myArray[i] == "@"){
								skai++;
							} else if (myArray[i] == "."){
								skai++;
							}
						}
						if(skai == 2){
							$('#pastas').removeClass('blogai');
							console.log('gerai');
						} else {
						$('#pastas').addClass('blogai');
						console.log('blogai');
						}

					});

					//tikrinam ar telefonas tinkamas
					$("#tel").on('change', function(){
						var tel = $("#tel").val();
						if(!/^\s*\d+\s*$/.test(tel) || ($("#tel").val().length > 11)) {
						$('#tel').addClass('blogai');
						} else {
						$('#tel').removeClass('blogai');
						}
					});

					//siunciam
					$("#siusti").on('click', function(){
					kiek_r = $(".blogai").length;
					console.log('kiek eroru' + kiek_r)
					console.log($('input[name=kaip]:checked').val());

					if($("#vardas").val() == ''){
							$('#vardas').addClass('blogai');
							console.log('nera vardo');
							return false;
						} else {
							$('#vardas').removeClass('blogai');
						}

						if ($("#pastas").val() == ''){
							$('#pastas').addClass('blogai');
							console.log('Nera elpasto');
							return false;
						} else {
							$('#pastas').removeClass('blogai');
						} 

						if ($("#tel").val() == ''){
							$('#tel').addClass('blogai');
							console.log('Nera telefono');
							return false;
						} else {
							$('#tel').removeClass('blogai');
						} 

						if($("#miestas option:selected").text() == 'Miestas'){
							$('#miestas').addClass('blogai');
							console.log('Nepasirinktas miestas');
							return false;
						} else {
							$('#miestas').removeClass('blogai');
						} 

						if($('input[name=kaip]:checked').val() == undefined){
							$('#kaip').addClass('blogai');
							console.log('Nepasirinktas budas');
							return false;
						} else {
							$('#kaip').removeClass('blogai');
						}

					if(kiek_r == 0){

						var s_vardas = $("#vardas").val(),
							s_tel = $("#tel").val(),
							s_email = $("#pastas").val(),
							s_miestas = $("#miestas option:selected").text(),
							s_kaip = $('input[name=kaip]:checked').val();

						//siunciam uzklausa i php,
						$.post('/catalog/view/theme/default/template/module/forma/email.php', {prekiu_masyvas: prekiu_masyvas, vardas: s_vardas, tel: s_tel, pastas: s_email, kaip: s_kaip, miestas: s_miestas }).done(function(data){
							console.log(data);
						});
						///close
							$(".contact").hide(400);

					} else {
						console.log('Kiek_r daugiau uz nuli');
						return false;
					}

					});						
				}
			});

Nuoroda į pranešimą
Dalintis kituose puslapiuose

sitas tai pizda nuzude....

 

$("#pastas").on('change', function () {
           var myString = $("#pastas").val();
           var myArray = myString.split('');
           // display the result in myDiv
           for (var i = 0; i < myArray.length; i++) {
               if (myArray[i] == "@") {
                   skai++;
               } else if (myArray[i] == ".") {
                   skai++;
               }
           }
           if (skai == 2) {
               $('#pastas').removeClass('blogai');
               console.log('gerai');
           } else {
               $('#pastas').addClass('blogai');
               console.log('blogai');
           }
       });

 

Kur ten tas mygtukas randasi?

 

Tau zmogau reikia js mokintis, o ne shopus kurti. Ir ne jQuery, o elementaru JS.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

sitas tai pizda nuzude....

 

$("#pastas").on('change', function () {
           var myString = $("#pastas").val();
           var myArray = myString.split('');
           // display the result in myDiv
           for (var i = 0; i < myArray.length; i++) {
               if (myArray[i] == "@") {
                   skai++;
               } else if (myArray[i] == ".") {
                   skai++;
               }
           }
           if (skai == 2) {
               $('#pastas').removeClass('blogai');
               console.log('gerai');
           } else {
               $('#pastas').addClass('blogai');
               console.log('blogai');
           }
       });

 

 

Kur ten tas mygtukas randasi?

 

Tau zmogau reikia js mokintis, o ne shopus kurti. Ir ne jQuery, o elementaru JS.

 

Kai suvedi visus duomenis paspaudus siusti uzklausa atsiranda contact forma ir joje yra inputas #pastas

Ir komentaro jei ka (kas nuzude). Tikrai esu gan naujai iskeptas programuotojas tai bet kokio kritika man bus vertinga :) viena komentara jau gavau kad kodas "sudu kratituvas" :D

 

Tau zmogau reikia js mokintis, o ne shopus kurti. Ir ne jQuery, o elementaru JS.

 

Toks ten ir shopas paprasta forma kuria uzpildai ir gauni viska email.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tau zmogau reikia js mokintis, <...> Ir ne jQuery, o elementaru JS.

 

Va čia tai topinis komentaras....

 

Anyway.

 

Pabandyk kur yra

 

$("#siusti").on('click', function(){

 

įdėk:

 

$("#siusti").die('click');

 

Kažkaip atrodo kad tu nustatai mygtukui vis naują įvykį, kodėl? Galva neišneša visą tokį kodą skaityt iš ######.js :) Beto nelabai supratau kam naudoji on jei ištikro pakaktų $(element).click() :/

 

Kitas dalykas, tai pasidomėk apie serializeArray, tikrai nepamaišys. Tavo atveju tokį kodą skaityt ir bauda.

 

Arba yra kita išeitis. Daryk kaip apieviska rekomendavo. Pirmiausia išmok plain JavaScript, rašyk xN kartų daugiau kodo eilučių, testuok ir derink prie visų naršklių, o galiausiai kai viskas pavyks - pamiršk ir mokinkis jQuery! Tada išmoksi jQuery, pastebėsi kad kodas sumažės bent 2-3 kartus tikrai, ir suderinamumo klausimų nekils...

Redagavo Min2liz
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...