• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyświetlenie popup, po przejściu walidacji.

Object Storage Arubacloud
0 głosów
202 wizyt
pytanie zadane 12 marca 2019 w JavaScript przez tatar Użytkownik (740 p.)
edycja 12 marca 2019 przez tatar

Hej :)

Krótko - kliknięcie w przycisk otwiera popup (.hover_pop), trzeba wpisać numer telefonu (poprawny), jeśli nie jest poprawny to pokazuje się error, jeśli jest poprawny wyświetla się kolejny popup (hover_pop4). Niestety nie potrafię zrobić, żeby popup wyświetlał się dopiero gdy numer przechodzi walidację.

Proszę o pomoc.

HTML:

		<section id="section9">
			<div class="send_txt" style="text-align: center;">
				<a class="open_pop">ZAMAWIAM</a>
			</div>
		</section>

		<div class="hover_pop" id="hover_pop">
			<span class="helper"></span>
				<div>
					<div class="popupCloseButton">X</div>
					<div class="comenda_wrap">
			            <h3>Wyślij coś tam</h3>
			            <form id="form" action="" method="post">
				            <input type="text" id="tel" value="" class="tel required" placeholder="Numer" name="tel" minlength="9" maxlength="9" aria-required="true">
				            <input id="submit" class="wyslij" name="wyslij" type="submit" value="Wyślij">
				        </form>
			        </div>
				</div>
		</div>

		<div class="hover_pop4" id="hover_pop4">
			<span class="helper"></span>
				<div>
					<div class="popupCloseButton">X</div>
						<div class="content_pop4">
			            	<p>wysyłka info</p> 
							<p>chcesz poprawić dane?</p>
				            <input id="change_tel" class="open_pop change_tel" name="change_tel" type="submit" value="Zmień">
				            <input id="send_sms" class="open_pop5 send_sms" name="send_sms" type="submit" value="Wyślij">
        				</div>
				</div>
		</div>

JS:

$(document).ready(function () {


    $("#form").validate({
      rules: {
        tel: {
              required: true,
              number: true,
              minlength: 9
          }
      },
      messages: {
        tel: {
          required: "Proszę podać numer telefonu",
          minlength: "Proszę podać poprawny numer telefonu",
          number: "Proszę podać poprawny numer telefonu"
        }
      },

    });


// first popup
    $(".open_pop").click(function(){
       $('.hover_pop').show();
    });
    $('.popupCloseButton').click(function(){
        $('.hover_pop').hide();
    });

    $('.popupCloseButton').click(function(){
        $('.hover_pop4').hide();
    });

})

CSS:

body {font-family: Helvetica Neue,Helvetica,Arial,sans-serif;}
img{display: block;max-width: 100%;height: auto;}
.send_txt{position: relative;text-align: center;margin-top: 100px;}
#section9 a{color: #000000;font-size: 20px;border: 2px solid #000000;padding: 15px 100px;cursor: pointer;}
.hover_pop, .hover_pop2, .hover_pop3, .hover_pop4, .hover_pop5{background:rgba(0,0,0,.4);display:none;height:100%;position:fixed;
text-align:center;top:0;width:100%;z-index:100000000000000000000;}
.hover_pop .helper, .hover_pop2 .helper, .hover_pop3 .helper, .hover_pop4 .helper, .hover_pop5 .helper{display:inline-block;height:100%;
vertical-align:middle;}
.hover_pop > div, .hover_pop2 > div{background-color: #fff;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;height: 300px;
width: 995px;max-height: 100%;max-width: 100%;overflow-y: auto;text-align: center;padding: 15px 25px;}
.popupCloseButton {cursor: pointer;display: inline-block;line-height: 30px;position: absolute;font-size: 18px;
top: 15px;right: 15px;}
.hover_pop h2, .hover_pop2 h2 {font-weight: 600;font-size: 32px;margin: 35px 0;}
.hover_pop2 h3{margin: 0;padding: 35px 45px;font-size: 32px;font-weight: 600;
position: relative;}
.hover_pop h3{margin: 0;padding: 10px 45px 20px 45px;font-size: 25px;font-weight: 600;position: relative;}
.hover_pop2 h3{border-top: 1px solid #CCC;border-bottom: 1px solid #CCCCCC;}
.hover_pop h3 span, .hover_pop2 h3 span{color: #FF6501;}
.hover_pop .descript, .hover_pop2 .descript {margin: 30px 0 40px;}
.hover_pop .descript .time_free, .hover_pop2 .descript .time_free {font-size: 30px;font-weight: 600;}
 
/* nowe zmiany dla popup*/
.hover_pop .comenda_wrap{padding-bottom: 6px;}
.error{color: red;display: block;font-size: 13px;padding: 2px 0px 3px 0px;}
.tel{padding: 3px 10px;margin: auto;font-size: 20px;}
.wyslij{color: #ffffff;background-color: #ff5900;border-color: #ff5900;border-style: none;display: block;font-size: 20px; padding: 3px 0px;
margin: 10px auto;width: 234px;}
.wyslij:hover {background-color: #e45000;border-color: #e45000;}
 
/* popup po weryfikacji numeru */
.hover_pop4 > div{background-color: #fff;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;height: 240px;
width: 560px;max-height: 100%;max-width: 100%;overflow-y: auto;text-align: center;padding: 15px 25px;}
.hover_pop4 p{font-size: 18px;margin: 8px 0px;}
.hover_pop4 .content_pop4{padding: 20px;}
.hover_pop4 p:nth-child(2){padding-bottom: 20px;}
.change_tel, .send_sms{width: 150px;font-size: 20px;height: 50px;margin: 0px 6px;}
.change_tel{color: #ffffff;background-color: #ff5900;border-color: #ff5900;border-style: solid;}
.change_tel:hover {background-color: #e45000;border-color: #e45000;}
.send_sms{color: #ff5900;background-color: #ffffff;border-color: #ff5900;border-style: solid;}
.send_sms:hover {background-color: #e45000;border-color: #e45000;color: #ffffff;}
 
/* popup trwa wysylanie */
.hover_pop5 > div{background-color: #fff;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;height: 240px;
width: 560px;max-height: 100%;max-width: 100%;overflow-y: auto;text-align: center;padding: 15px 25px;}
.hover_pop5 p{font-size: 18px;display: block;margin: 0px;padding-bottom: 13px;}
.loader_center{text-align: center;display: table-cell;vertical-align: middle;height: 200px;margin: auto;width: 560px;max-width: 100%;}
 
.loader {border: 16px solid #f3f3f3;border-radius: 50%;border-top: 16px solid #3498db;width: 35px;height: 35px;
-webkit-animation: spin 2s linear infinite; /* Safari */animation: spin 2s linear infinite;display: inline-block;}
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }}
 
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }}

 

komentarz 12 marca 2019 przez pablop76 VIP (123,180 p.)
1.Dodaj css bo na starcie wszystko jest odkryte.

2.Wstaw kod w bloczki odpowiednie dla danej technologii.

3.Z jakiej wtyczki validatora korzystasz?
komentarz 12 marca 2019 przez tatar Użytkownik (740 p.)

1. CSS są: :)

body {font-family: Helvetica Neue,Helvetica,Arial,sans-serif;}
img{display: block;max-width: 100%;height: auto;}
.send_txt{position: relative;text-align: center;margin-top: 100px;}
#section9 a{color: #000000;font-size: 20px;border: 2px solid #000000;padding: 15px 100px;cursor: pointer;}
.hover_pop, .hover_pop2, .hover_pop3, .hover_pop4, .hover_pop5{background:rgba(0,0,0,.4);display:none;height:100%;position:fixed;
text-align:center;top:0;width:100%;z-index:100000000000000000000;}
.hover_pop .helper, .hover_pop2 .helper, .hover_pop3 .helper, .hover_pop4 .helper, .hover_pop5 .helper{display:inline-block;height:100%;
vertical-align:middle;}
.hover_pop > div, .hover_pop2 > div{background-color: #fff;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;height: 300px;
width: 995px;max-height: 100%;max-width: 100%;overflow-y: auto;text-align: center;padding: 15px 25px;}
.popupCloseButton {cursor: pointer;display: inline-block;line-height: 30px;position: absolute;font-size: 18px;
top: 15px;right: 15px;}
.hover_pop h2, .hover_pop2 h2 {font-weight: 600;font-size: 32px;margin: 35px 0;}
.hover_pop2 h3{margin: 0;padding: 35px 45px;font-size: 32px;font-weight: 600;
position: relative;}
.hover_pop h3{margin: 0;padding: 10px 45px 20px 45px;font-size: 25px;font-weight: 600;position: relative;}
.hover_pop2 h3{border-top: 1px solid #CCC;border-bottom: 1px solid #CCCCCC;}
.hover_pop h3 span, .hover_pop2 h3 span{color: #FF6501;}
.hover_pop .descript, .hover_pop2 .descript {margin: 30px 0 40px;}
.hover_pop .descript .time_free, .hover_pop2 .descript .time_free {font-size: 30px;font-weight: 600;}

/* nowe zmiany dla popup*/
.hover_pop .comenda_wrap{padding-bottom: 6px;}
.error{color: red;display: block;font-size: 13px;padding: 2px 0px 3px 0px;}
.tel{padding: 3px 10px;margin: auto;font-size: 20px;}
.wyslij{color: #ffffff;background-color: #ff5900;border-color: #ff5900;border-style: none;display: block;font-size: 20px; padding: 3px 0px;
margin: 10px auto;width: 234px;}
.wyslij:hover {background-color: #e45000;border-color: #e45000;}

/* popup po weryfikacji numeru */
.hover_pop4 > div{background-color: #fff;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;height: 240px;
width: 560px;max-height: 100%;max-width: 100%;overflow-y: auto;text-align: center;padding: 15px 25px;}
.hover_pop4 p{font-size: 18px;margin: 8px 0px;}
.hover_pop4 .content_pop4{padding: 20px;}
.hover_pop4 p:nth-child(2){padding-bottom: 20px;}
.change_tel, .send_sms{width: 150px;font-size: 20px;height: 50px;margin: 0px 6px;}
.change_tel{color: #ffffff;background-color: #ff5900;border-color: #ff5900;border-style: solid;}
.change_tel:hover {background-color: #e45000;border-color: #e45000;}
.send_sms{color: #ff5900;background-color: #ffffff;border-color: #ff5900;border-style: solid;}
.send_sms:hover {background-color: #e45000;border-color: #e45000;color: #ffffff;}

/* popup trwa wysylanie */
.hover_pop5 > div{background-color: #fff;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;height: 240px;
width: 560px;max-height: 100%;max-width: 100%;overflow-y: auto;text-align: center;padding: 15px 25px;}
.hover_pop5 p{font-size: 18px;display: block;margin: 0px;padding-bottom: 13px;}
.loader_center{text-align: center;display: table-cell;vertical-align: middle;height: 200px;margin: auto;width: 560px;max-width: 100%;}

.loader {border: 16px solid #f3f3f3;border-radius: 50%;border-top: 16px solid #3498db;width: 35px;height: 35px;
-webkit-animation: spin 2s linear infinite; /* Safari */animation: spin 2s linear infinite;display: inline-block;}
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }}

2. Nie rozumiem :(

3. Wgrałam  : jquery.validate.min.js

komentarz 12 marca 2019 przez pablop76 VIP (123,180 p.)
Jak wstawiasz kod to możesz wybrać język w jakim jest napisany. Domyślnie jest Plain(text) a dobrze by było gdyby był podział na html css js wtedy łatwo otworzyć całość ponieważ pojawi się wybór edytora online codepen lub jsfiddle
komentarz 12 marca 2019 przez tatar Użytkownik (740 p.)
Poprawiłam, teraz jest dobrze?
komentarz 12 marca 2019 przez pablop76 VIP (123,180 p.)
bardzo dobrze :)

1 odpowiedź

0 głosów
odpowiedź 12 marca 2019 przez pablop76 VIP (123,180 p.)
wybrane 12 marca 2019 przez tatar
 
Najlepsza

Skorzystaj z metody valid() twojej wtyczki. Zwraca true jeżeli formularz przechodzi walidację. 

Nasłuchuj zmian w inpucie i jeżeli metoda zwraca true odpal kolejny popup

komentarz 12 marca 2019 przez tatar Użytkownik (740 p.)
Oki :) działam i jak coś mi się uda zrobić to tutaj wrzucę :) dziękuję :) nie wydaje się trudne jak patrzę na demo :)
komentarz 12 marca 2019 przez tatar Użytkownik (740 p.)
edycja 12 marca 2019 przez tatar

Próbowałam działać z wykorzystaniem validate() z wykorzystaniem submithandler, ale nadal bez sukcesu, ciągle błędy i nie działa.

    $("#form").validate({
      rules: {
        tel: {
              required: true,
              number: true,
              minlength: 9
          }
      },
      messages: {
        tel: {
          required: "Proszę podać numer telefonu",
          minlength: "Proszę podać poprawny numer telefonu",
          number: "Proszę podać poprawny numer telefonu"
        }
      },
        submitHandler: function (form) {
            console.log("Wyslano!");
            var $form = $(form);
        }

    });

dotarłam do momentu gdzie pokazuje się w consoli "Wyslano", niestety nie wiem w jaki sposób zrobić, żeby zamiast tego pokazywał się popup o klasie .hover_pop4 :(

komentarz 12 marca 2019 przez tatar Użytkownik (740 p.)
    $("#form").validate({
      rules: {
        tel: {
              required: true,
              number: true,
              minlength: 9
          }
      },
      messages: {
        tel: {
          required: "Proszę podać numer telefonu",
          minlength: "Proszę podać poprawny numer telefonu",
          number: "Proszę podać poprawny numer telefonu"
        }
      },
        submitHandler: function (form) {
            $('.hover_pop4').show();
            $('.hover_pop').hide();
            var $form = $(form);
        }

    });

Rozwiązane :)

Podobne pytania

0 głosów
2 odpowiedzi 1,053 wizyt
pytanie zadane 17 lipca 2018 w JavaScript przez tatar Użytkownik (740 p.)
0 głosów
1 odpowiedź 91 wizyt
pytanie zadane 10 lutego 2021 w JavaScript przez x_000 Obywatel (1,460 p.)
+1 głos
3 odpowiedzi 185 wizyt
pytanie zadane 4 grudnia 2020 w JavaScript przez Marcinnok Użytkownik (780 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...