Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Blokowanie Pola Formularza Jeśli Wybiore Jakąś Opcję
Forum PHP.pl > Forum > Przedszkole
craker
Witam,

mam formularz z 2 polami typu radio, mają one ustawione zdarzenie onclick="pole()" (kod funkcji niżej) i chce zrbić tak, że jak wybiore pole oznaczone fizyczna, to żeby blokowało 2 pola typu text

Kod
<script language="javascript"><!--
function pola()
{
    if (document.create_account.co.value == "fizyczna" && document.create_account.co == CHECKED)
    {
        document.create_account.company.disabled=true;
        document.create_account.nip.disabled=true;
        return true;
    }
    else
    {
        document.create_account.company.disabled=false;
        document.create_account.nip.disabled=false;
    }
}

//--></script>

funkcję napisałem w ten sposób ale niestety nie działa. dawałem też onclick="return pole()" ale też bez efektów.

Proszę o pomoc. Dzięki
toolmaniak
Spróbuj tak:

  1. <script language="JavaScript" type="text/Javascript">
  2. <!--
  3. function pola() {
  4. var enable_id = document.getElementById(document.forms[0].name).getElementsByTagName('input');
  5. for (var i=0; i < enable_id.length; i++) {
  6. if (enable_id[i].type == 'radio') {
  7. if (enable_id[i].checked == false) {
  8. document.forms[0].company.disabled = true
  9. document.forms[0].nip.disabled = true
  10. }
  11. else if (enable_id[i].checked == true) {
  12. document.forms[0].company.disabled = false
  13. document.forms[0].nip.disabled = false
  14. }
  15. }
  16. }
  17. }
  18. //-->


i nie zapomnij o zdarzeniu "onChange='pole();'" przy każdym radiobuttonie. Pozdrówka...
craker
niestety ale nie działa. dalej nic sie nie zmienia jak wybiore opcję fizyczna.
toolmaniak
Sorry, zapomniałem ID w tagu formularza. Powinno być tak:

  1. <script language="JavaScript" type="text/Javascript">
  2. <!--
  3. function pola() {
  4. var enable_id = document.getElementById(document.forms[0].name).getElementsByTagName('input');
  5. for (var i=0; i < enable_id.length; i++) {
  6. if (enable_id[i].type == 'radio') {
  7. if (enable_id[i].checked == false) {
  8. document.forms[0].company.disabled = true
  9. document.forms[0].nip.disabled = true
  10. }
  11. else if (enable_id[i].checked == true) {
  12. document.forms[0].company.disabled = false
  13. document.forms[0].nip.disabled = false
  14. }
  15. }
  16. }
  17. }
  18. //-->
  19.  
  20. <form name='create_account' id='create_account'>
  21. <UL>
  22. <LI>Osoba fizyczna:&nbsp;<input type='radio' name='co' id='co' value='fizyczna' onChange='pola();'></LI>
  23. <LI>Osoba prawna:&nbsp;<input type='radio' name='co' id='co' value='firma' onChange='pola();'></LI>
  24. </UL><br/>
  25. Nazwa firmy:&nbsp;<input type='text' name='company'>
  26. NIP:&nbsp;<input type='text' name='nip'>
  27. </form>


Dla pewności sprawdzałem na IE, FireFox i Safari i działa smile.gif. Pozdrówka i sorki za niedopatrzenie.
craker
mi niestety to nie działa, może podpowiem, że to formularz rejestracji w OSC jest
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.