Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [adv/ajax] blokowanie pól
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
skowron-line
Witam, napisalem funkcje ktora miala byc rozwiazaniem mojego wczesniejszego
http://forum.php.pl/index.php?showtopic=78...st&p=400840
problemu teraz troche bardziej w to wniknalem i wymyslilem ze po co przesylac cale pola input skoro moge jakis string sobie podzielic i na jego podstawie zablokowac pola
ale do rzeczy funkcja wyglada tak
  1. <head>
  2. <script type="text/javascript" src="advajax.js"></script>
  3. <script type="text/javascript">
  4. function test(){
  5. advAJAX.get({
  6. url: "b.php",
  7. onSuccess : function(obj) {
  8. var a = obj.responseText;
  9. a = a.split("|");
  10. var field = new Array("in1","in2","in3");
  11. var oDiv = document.getElementById('abc');
  12. for(var i=0;i<=a.length-1;i++){
  13. if(a[i] == 1){
  14. document.getElementById(field[i]).disabled = true;
  15. }
  16. }
  17. }
  18. });
  19. }
  20. </script>
  21. </head>
  22. <body>
  23. <a href="javascript:test();">aaaaa</a>
  24. <div id="abc">
  25. <form action="" method="post">
  26. 1<input type="text" name="in1" id="in1">
  27. 2<input type="text" name="in2" id="in2">
  28. 3<input type="text" name="in3" id="in3">
  29. <input type="submit" name="submit">
  30. </form>
  31. </div>
  32. <?php
  33. if(isset($_POST[submit])){
  34. print_r($_POST);
  35. }
  36. ?>
  37. </body>
  38. </html>

chyba tej funkcji nie trzeba jakos szczegolnie tlumaczyc bo dzieli po kresce pionowej i sprawdzac jezeli jest 1 to zablokowac pole a jak 0 to nie
ale jak zablokuje pola to juz ich nie wysle postem. dlaczego??
a w pliku b.php mam tylko 1|0|1 tak dla przykladu
nospor
Cytat
ale jak zablokuje pola to juz ich nie wysle postem. dlaczego??
Bo pola majace ustawione disabled nie sa wysylane smile.gif
skowron-line
Cytat(nospor @ 3.10.2007, 11:31:08 ) *
Bo pola majace ustawione disabled nie sa wysylane smile.gif

no racja zapomialem o tym na smierc
edit ale jak zmienie
Kod
document.getElementById(field[i]).disabled = true;

na
Kod
document.getElementById(field[i]).readonly = true;

to nie "blokuje"
nospor
Cytat
to nie "blokuje"
czego nie blokuje? Wysylania pola, czy też wpisywania do pola?
Wysylania pola readonly nie blokuje. Wpisywanie do pola readonly blokuje tylko niektore typy pol.
skowron-line
Kod
pisywanie do pola readonly blokuje tylko niektore typy pol.

no ale to sa zwykle pola tekstowe wiec nie powinno byc problemu
nospor
popelniles literowke. Nie:
.readonly
a:
.readOnly

pozatym przenosze bo to nie ma zadnego zwiazku z xmlem ani ajaxem.
mokry
Mała sugestia. Nie lepiej aby "wyłączyć pole" dodać po prostu display:hidden dla pola? Można wtedy uniemożliwić wybór każdego typu pola.
skowron-line
Cytat(mokry @ 12.10.2007, 13:15:55 ) *
Mała sugestia. Nie lepiej aby "wyłączyć pole" dodać po prostu display:hidden dla pola? Można wtedy uniemożliwić wybór każdego typu pola.

czlowieku jak by mi nagle zaczely w systemie znikac jakies pola to bym sie od telefonow nie opedzil, i tak teraz cala dobe do mnie dzwonia
mokry
W takim razie, jeśli jest to jakiś spis opcji w systemie, to możesz sobie zrobić to w ten sposób, że masz:

* Nazwa opcji // input poprzez hidden albo block/inline/... // div hidden z trescia np "opcja niedostepna" ktory jest zalezny od pola

I jeśli opcja jest dostępna to pole INPUT jest widoczne a jeśli niedostępna/ukryta, to odkrywany jest DIV. Wtedy użyszkodnicy widzą, że opcja jakaś tam systemu jest poprostu wyłaczona/niedostępna/cokolwiek (?)
skowron-line
Oj @mokry wymyslasz
pokaze ci jak to wyglada
mam cos takiego
jest sobie lista rozwijana z numerami od 1 do n
i pod spodem 4 liczniki


in in2 out out2
p p p p

i jak zmienie numer na liscie to ma sie pole blokowac a nie znikac jezeli mia by znikac licznik to i podpis nad nim a to bez sensu.
Sprobuj popracować z ludzmi ktorym jak sie mowi zeby nacisneli start to wylaczaja guzikiem komputer
albo jak ich sie prosi o adres emali to mi wyslal eska w stylu
http://jakisAdres.pl
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.