Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Blokowanie wysyłania formularza
Forum PHP.pl > Forum > Przedszkole
zolasty
Jak mógłbym zablokować proces wysyłania formularza dopóki nie wczytam zmiennych w inputy? Wiem że można w php, ale może ktoś zna sposób w javascript?
  1. <a style='color:red' href="#" id = reg onclick="testowa()">
  2. <b>Załaduj współrzędne markera!</b>
  3. </a>
  4. <form method="post" action="index.php?mod=add_woda">
  5. Długość: <input type="text" name="naz1" id="nazwa"/>Szerokość: <input type="text" name="naz2" id="nazwa2"/>
  6. <p align='center'><input type="submit" value="Dalej"/>
  7. </form>


Coś jak:
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. <!-- //
  3. function regulamin()
  4. {
  5. if(document.getElementById('reg').checked == true )
  6. {
  7. document.getElementById('dalej').disabled=false;
  8. }
  9. else
  10. {
  11. document.getElementById('dalej').disabled=true;
  12. }
  13. }
  14. // ]]> -->
  15. </script>
[JAVASCRIPT] pobierz, plaintext

  1. <b><small>Oświadczam, że zapoznałem się z regulaminem i zgadzam się na warunki tam zamieszczone.</small></b>
  2. <input type="checkbox" id="reg" onclick="regulamin()" />
  3. </br></br>
  4. <p align='center'><input style="font-weight: bold;" type="submit" name="submit" value="utwórz konto" id="dalej" disabled="disabled"></p>
tehaha
możesz wywołać funkcję umieszczając w <form>:
  1. <form onsubmit='return check_function();'>

i dorzuć jakąś funkcje, która zwraca true, w przypadku gdy formularz może zostać wysłany lub false gdy nie może
  1. function check_function()
  2. {
  3. if(document.getElementById('reg').checked == true )
  4. {
  5. return true;
  6. }
  7. else
  8. {
  9. alert('pole jakieś tam jest wymagane!');
  10. return false;
  11.  
  12. }
  13.  
  14. }
zolasty
Dodałem funkcje wyrzuca alert ale nie wiem co zrobić żeby załadowanie zmiennych do inputów zmieniało ten stan i można było wysłać formularz.
tehaha
no będzie można bo to działa tak: po naciśnięciu submit wywołujesz funkcję, która sprawdza czy w polach formularza są jakieś wartości lub czy checkbox jest ustawiony czy cokolwiek tam chcesz jeżeli wszystko jest ok to zwracasz true i wtedy formularz zostanie wysłany, a jak coś nie gra to zwracasz false i wtedy formularz nie zostanie wysłany, jak coś Ci nie działa to pokaż cały kod
zolasty
To mój cały kod, na początku jest funkcja na końcu formularz w którym wywołuję funkcję.
A tu link do efektu po zalogowaniu - http://urokliwe.pl/index.php?mod=add_woda1 admin pass qwerty

  1. <?php
  2. $level= $_COOKIE['lev'];
  3. if($level == 1 || $level == 2){
  4. ?>

  1. <div class="header"><span class="text">Morze, jeziora, rzeki...</span></div>

[JAVASCRIPT] pobierz, plaintext
  1. <script type='text/javascript'>
  2. <!--
  3. // zmienne globalne
  4. var geo;
  5. var mapa;
  6. var lat;
  7. var lng;
  8.  
  9. function testowa(){
  10.  
  11. document.getElementById("nazwa").value=lat.toFixed(10);
  12. document.getElementById("nazwa2").value=lng.toFixed(10);
  13. }
  14.  
  15. function check_function()
  16. {
  17. if(document.getElementById('reg').checked == true )
  18. {
  19. return true;
  20. }
  21. else
  22. {
  23. alert('Zaladuj wspolrzedne markera!');
  24. return false;
  25. }
  26.  
  27. }
  28.  
  29. function skoczDoAdresu(adres)
  30. {
  31. if(!geo) return;
  32. geo.getLatLng(adres,function(punkt)
  33. {
  34. if (!punkt)
  35. {
  36. // jeśli punkt nie istnieje, to adres nie został znaleziony
  37. alert(adres + " nie został znaleziony!");
  38. }
  39. else
  40. {
  41. // centrujemy na znalezionym punkcie
  42. mapa.panTo(punkt);
  43.  
  44. // czyścimy markery z mapy
  45. mapa.clearOverlays();
  46.  
  47. // dodajemy w tym miejscu marker
  48. var ikona = new GIcon();
  49. ikona.image='http://maps.google.com/mapfiles/kml/pal3/icon52.png';
  50. ikona.shadow='';
  51. ikona.iconSize=new GSize(32,32);
  52. ikona.iconAnchor=new GPoint(16,16);
  53. ikona.infoWindowAnchor=new GPoint(16,16);
  54.  
  55. var marker = new GMarker(punkt,{icon: ikona, title: adres});
  56. mapa.addOverlay(marker);
  57.  
  58. // i otwieramy dymek z adresem
  59. marker.openInfoWindowHtml('<strong>Poszukiwany adres</strong><br />'+adres);
  60. }
  61. });
  62. }
  63.  
  64. function click()
  65. {
  66. if(document.getElementById('reg').clicked == true )
  67. {
  68. document.getElementById('dalej').disabled=false;
  69. }
  70. else
  71. {
  72. document.getElementById('dalej').disabled=true;
  73. }
  74. }
  75.  
  76. function mapaStart()
  77. {
  78. if(GBrowserIsCompatible())
  79. {
  80. mapa = new GMap2(document.getElementById("mapka"),{mapTypes: [G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});
  81. mapa.setCenter(new GLatLng(53.429805, 14.537883), 15);
  82. mapa.addControl(new GLargeMapControl());
  83. var typyMapy = mapa.getMapTypes();
  84. // kontrolki mapy
  85. typyMapy[0].getName= function() { return "Mapa";}
  86. typyMapy[1].getName = function() { return "Satelita";}
  87. typyMapy[2].getName = function() { return "Hybryda";}
  88. mapa.addControl(new GMapTypeControl());
  89. mapa.addControl(new GOverviewMapControl());
  90. mapa.addControl(new GScaleControl());
  91.  
  92. // nowy obiekt do geokodowania
  93. geo = new GClientGeocoder();
  94.  
  95. var ikona1 = new GIcon();
  96. ikona1.image = "http://maps.google.com/mapfiles/kml/pal3/icon50.png";
  97. ikona1.shadow = "http://maps.google.com/mapfiles/kml/pal3/icon58s.png";
  98. ikona1.iconSize = new GSize(32, 32);
  99. ikona1.infoWindowAnchor = new GPoint(16,16);
  100. ikona1.iconAnchor = new GPoint(16,16);
  101. ikona1.shadowSize = new GSize(59, 32);
  102.  
  103. GEvent.addListener(mapa,'click',function(marker,punkt) {
  104. if(marker)
  105. {
  106. mapa.removeOverlay(marker);
  107. }
  108. else if(punkt)
  109. {
  110. var marker = new GMarker(punkt,{draggable: true, icon: ikona1});
  111. mapa.clearOverlays();
  112. mapa.addOverlay(marker);
  113. lat = marker.getPoint().lat();
  114. lng = marker.getPoint().lng();
  115. //lat1 = toJsonString(lat);
  116. //lng1 = toJsonString(lng);
  117.  
  118.  
  119. }
  120. });
  121.  
  122. mapa.addOverlay(new GMarker(new GLatLng(53.41935400090768,14.58160400390625),{draggable: true, icon: ikona1}));
  123.  
  124. }
  125. }
  126.  
  127.  
  128.  
  129. -->
  130. </script>
[JAVASCRIPT] pobierz, plaintext

  1. <form id="geo" action="#" onsubmit="skoczDoAdresu(document.getElementById('szukanyAdres').value); return false;">
  2. <strong>Wpisz adres do geokodowania (dane pomocnicze)</strong>
  3. <br />
  4. <input type="text" size="31" class="inputselect" id="szukanyAdres" />
  5. <br/>
  6. <strong>... lub wybierz przykładowy z listy</strong><br />
  7. <select class="inputselect" onchange="document.getElementById('szukanyAdres').value=this.options[this.selectedIndex].value">
  8. <option selected="selected">wybierz z listy</option>
  9. <option value="Szczecin, Wojska Polskiego 53">Szczecin, Wojska Polskiego 53</option>
  10. <option value="Szczecin, Niepodległości 20">Szczecin, Niepodległości 20</option>
  11. <option value="Szczecin, plac Grunwaldzki">Szczecin, plac Grunwaldzki</option>
  12. <option value="Warszawa, Ujazdowskie 15">Warszawa, Ujazdowskie 15</option>
  13. <option value="Berlin, Prenzlauer Berg">Berlin, Prenzlauer Berg</option>
  14. <option value="Mierzyn (policki)">Mierzyn (policki)</option>
  15. </select>
  16. <br /><input type="submit" value="Pokaż na mapie" />
  17. </form>
  18. <div id='mapka' style='width: 500px; height: 400px; border: 1px solid black; background: gray;'>
  19. <!-- tu będzie mapa -->
  20. </div>
  21.  
  22.  
  23.  
  24. <br/>
  25.  
  26.  
  27.  
  28. <a style='color:red' href="#" id = reg onclick="testowa()">
  29. <b>Załaduj współrzędne markera!</b>
  30. </a>
  31. <form onsubmit='return check_function();' method="post" action="index.php?mod=add_woda">
  32. Długość: <input type="text" name="naz1" id="nazwa"/>Szerokość: <input type="text" name="naz2" id="nazwa2"/>
  33. <p align='center'><input type="submit" value="Dalej"/>
  34. </form>
  35.  

  1. <?php
  2. }
  3. else
  4. {
  5. echo '<br/><br/><b>Musisz być zalogowany aby dodawać ogłoszenia.<b>';
  6. }
  7. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.