Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Zablokowanie jednego pola
Forum PHP.pl > Forum > Przedszkole
in5ane
Witam, mam pytanie. W jaki sposób można zablokować jedno pole, jeżeli w drugim się już kliknęło.

Chodzi o coś takiego:
  1. <table style="border-collapse: collapse">
  2. <tr>
  3. <td style="font-family: Verdana; font-size: 10px; padding-top: 6px; padding-top: 6px; padding-right: 6px;">22A. Mezczyzni:<br />
  4. <select name="rozmiar_ubrania_m" size="7" style="font-family: Verdana; font-size: 10px;">
  5. <option value="1">44-46</option>
  6. <option value="2">48-50</option>
  7. <option value="3">52-54</option>
  8. <option value="4">56-58</option>
  9. <option value="5">60-62</option>
  10. <option value="6">64-66</option>
  11. <option value="7">68-70</option>
  12. </select>
  13. </td>
  14. <td style="font-family: Verdana; font-size: 10px; padding-top: 6px; padding-top: 6px; padding-left: 6px;">22B. Kobiety:<br />
  15. <select name="rozmiar_ubrania_k" size="7" style="font-family: Verdana; font-size: 10px;">
  16. <option value="1">32-34</option>
  17. <option value="2">36-38</option>
  18. <option value="3">40-42</option>
  19. <option value="4">44-46</option>
  20. <option value="5">48-50</option>
  21. <option value="6">52-54</option>
  22. <option value="7">56-58</option>
  23. </select>
  24. </td>
  25. </tr>
  26. </table>

I jeżeli ktoś wybierze już ubrania dla mężczyzny to dla kobiety pole ma się zablokować, a jeżeli ktoś kliknie na ubranie kobiety, to żeby ubranie dla mężczyzny się zablokowało. Proszę o pomoc.


Pozdrawiam ;-)
k_@_m_i_l
Kod
<form>
  <table style="border-collapse: collapse">
   <tr>
     <td style="font-family: Verdana; font-size: 10px; padding-top: 6px; padding-top: 6px; padding-right: 6px;">22A. Mezczyzni:<br />
      <select name="rozmiar_ubrania_m" size="7" style="font-family: Verdana; font-size: 10px;" onchange="document.forms[0].elements[1].disabled=true">
        <option value="1">44-46</option>
        <option value="2">48-50</option>
        <option value="3">52-54</option>
        <option value="4">56-58</option>
        <option value="5">60-62</option>
        <option value="6">64-66</option>
        <option value="7">68-70</option>
      </select>
    </td>
    <td style="font-family: Verdana; font-size: 10px; padding-top: 6px; padding-top: 6px; padding-left: 6px;">22B. Kobiety:<br />
     <select name="rozmiar_ubrania_k" size="7" style="font-family: Verdana; font-size: 10px;" onchange="document.forms[0].elements[0].disabled=true">
         <option value="1">32-34</option>
           <option value="2">36-38</option>
           <option value="3">40-42</option>
           <option value="4">44-46</option>
           <option value="5">48-50</option>
           <option value="6">52-54</option>
           <option value="7">56-58</option>
     </select>
    </td>
  </tr>
</table>
</form>
in5ane
No i nie działa mi to kolego. Nie wiem, może jakaś literówka? A może ma znaczenie to forms[0] (to tylko moje spekulacje).

P.S.: Chodzi o ten formularz: http://dancepiotrkow.pl/formularz.php
k_@_m_i_l
Ot mały błąd wkradł się:) Po prostu tamten kod,odnosił do formularza w którym są tylko te pola.Tutaj trzeba bylo zmodyfikować nazwę elementu i wszystko śmiga:)
Kod
<table style="border-collapse: collapse">

    <tr>
        <td style="font-family: Verdana; font-size: 10px; padding-top: 6px; padding-top: 6px; padding-right: 6px;">22A. Mezczyzni:<br />
            <select name="rozmiar_ubrania_m" size="7" style="font-family: Verdana; font-size: 10px;" onchange="document.forms[0].elements['rozmiar_ubrania_k'].disabled=true">
                <option value="1">44-46</option>
                <option value="2">48-50</option>
                <option value="3">52-54</option>
                <option value="4">56-58</option>

                <option value="5">60-62</option>
                <option value="6">64-66</option>
                <option value="7">68-70</option>
            </select>
        </td>
        <td style="font-family: Verdana; font-size: 10px; padding-top: 6px; padding-top: 6px; padding-left: 6px;">22B. Kobiety:<br />
            <select name="rozmiar_ubrania_k" size="7" style="font-family: Verdana; font-size: 10px;" onchange="document.forms[0].elements['rozmiar_ubrania_m'].disabled=true">

                <option value="1">32-34</option>
                <option value="2">36-38</option>
                <option value="3">40-42</option>
                <option value="4">44-46</option>
                <option value="5">48-50</option>
                <option value="6">52-54</option>

                <option value="7">56-58</option>
            </select>
        </td>
    </tr>
</table>
piotrooo89
a co jeśli użytkownikiem będzie kobieta która przez przypadek nacisnęła sobie mężczyznę? rozwiązanie które podał ~k_@_m_i_l jest całkowicie poprawne ja jednak daje Ci alternatywę.

  1. <script type="text/javascript">
  2. function odznacz()
  3. {
  4. var m = document.getElementById('m');
  5. var k = document.getElementById('k');
  6.  
  7. if (k.disabled == true || m.disabled == true)
  8. {
  9. k.disabled=false;
  10. m.disabled=false;
  11. }
  12. }
  13.  
  14. <table style="border-collapse: collapse">
  15. <tr>
  16. <td style="font-family: Verdana; font-size: 10px; padding-top: 6px; padding-top: 6px; padding-right: 6px;">22A. Mezczyzni:<br />
  17. <select id="m" name="rozmiar_ubrania_m" size="7" style="font-family: Verdana; font-size: 10px;" onChange="k.disabled='true';">
  18. <option value="1">44-46</option>
  19. <option value="2">48-50</option>
  20. <option value="3">52-54</option>
  21. <option value="4">56-58</option>
  22. <option value="5">60-62</option>
  23. <option value="6">64-66</option>
  24. <option value="7">68-70</option>
  25. </td>
  26. <td style="font-family: Verdana; font-size: 10px; padding-top: 6px; padding-top: 6px; padding-left: 6px;">22B. Kobiety:<br />
  27. <select id="k" name="rozmiar_ubrania_k" size="7" style="font-family: Verdana; font-size: 10px;" onChange="m.disabled='true';">
  28. <option value="1">32-34</option>
  29. <option value="2">36-38</option>
  30. <option value="3">40-42</option>
  31. <option value="4">44-46</option>
  32. <option value="5">48-50</option>
  33. <option value="6">52-54</option>
  34. <option value="7">56-58</option>
  35. <input type="button" onClick="odznacz()" value="Reset" />
  36. </td>
  37. </tr>
in5ane
Dzięki wam ;-)

@piotrooo89: ten Twój skrypt ładnie resetuje, tylko, że np. zaznaczę dla faceta, zresetuje i zaznaczę dla kobiety to jest dla faceta może i zablokowane ale jest też zaznaczone. A powinno odznaczać.
piotrooo89
Cytat(in5ane @ 2.03.2009, 16:23:38 ) *
@piotrooo89: ten Twój skrypt ładnie resetuje, tylko, że np. zaznaczę dla faceta, zresetuje i zaznaczę dla kobiety to jest dla faceta może i zablokowane ale jest też zaznaczone. A powinno odznaczać.


nie rozumiem? u mnie chodzi odznaczanie i zaznaczanie tyle ile razy chce.
in5ane
No właśnie u mnie jest tak, że jak zaznaczę np. mężczyznę i mi się zablokuje kobieta i kliknę reset, to się odblokowuje kobieta i jak zaznaczę kobietę, to się blokuje mężczyzna (ale jest zaznaczone, to co było).

http://dancepiotrkow.pl/formularz.php <-- proszę Cię, zerknij.
piotrooo89
chodzi Ci o to niebieskie podświetlanie? jeśli tak to się nim nie przejmuj ponieważ przy wysyłaniu danych wartości z pól dislabed nie są wysyłane.
in5ane
Aha, dzięki.
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.