konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

Czy można z poziomu CSS wpłynąć na element formularza np. input o type="text" tak aby można było go zamrozić??

Uwaga: Nie mam na myśli opisu zamrożonych elementów (pseudoklasa :disabled).

A potrzebuję tego aby zaznaczenie jednego input o type="radio" odmrażał określony input o type="text"...

Gdyby chodziło o zwykłe DISPLAY, to nie było by problemu...

konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

Disclaimer: sposób zaprezentowany poniżej jest głupi :>

<input type="radio">
<span><input type="text"></span>


1) przykryj input[type="text"] pseudoelementem (span::before / span::after) z jakimś szarym, półprzezroczystym tłem
2) usuwaj ten pseudoelement gdy potrzeba, np tak:

input[type="radio"]:checked ~ span::before { display: none; }

p.s. Nie testowałem :)Rafał Krupiński edytował(a) ten post dnia 14.05.12 o godzinie 17:06

konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

Mysle ze to chodzenie na okolo, nie do tego powstal CSS aby wywolywac interakcje na stronie. Od tego jest JS.

konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

Konrad Pawlikowski:
Mysle ze to chodzenie na okolo, nie do tego powstal CSS aby wywolywac interakcje na stronie. Od tego jest JS.
Konradzie tu nie potrzebna jest krytyka a pomoc

konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

Krzysztof C.:
Czy można z poziomu CSS wpłynąć na element formularza np. input o type="text" tak aby można było go zamrozić??
w CSS tego bym nie szukał, CSS służy przede wszystkim do stalowania
Uwaga: Nie mam na myśli opisu zamrożonych elementów (pseudoklasa :disabled).

A potrzebuję tego aby zaznaczenie jednego input o type="radio" odmrażał określony input o type="text"...

Gdyby chodziło o zwykłe DISPLAY, to nie było by problemu...
może wykorzystaj readonly="readonly" dodając i usuwając w zależności czy radio jest na tak/nie

<input type="text" tabindex="1" value="wartosc-ktora-mozna-tylko-skopiowac" name="przyklad" id="przyklad" readonly="readonly" />Krzysztof Tomasz Jasiak edytował(a) ten post dnia 21.05.12 o godzinie 23:50

konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

Krzysztof Tomasz Jasiak:
Konrad Pawlikowski:
Mysle ze to chodzenie na okolo, nie do tego powstal CSS aby wywolywac interakcje na stronie. Od tego jest JS.
Konradzie tu nie potrzebna jest krytyka a pomoc

Dobrze wiec. Wciaz bede krytykowal rozwiazanie w CSS dlatego proponuje pojsc po najmniejsze linii oporu i wykorzystac jQuery.

$(window).ready(function(){
$('#checkbox-id').toggle(function(){
$('#text-input-id').attr('disabled', 'disabled');
},
function(){
$('#text-input-id').removeAttr('disabled');
});
});

konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

Jak wyżej, css to bardziej język opisywania wygladu a nie funkcjonalności.
Rozwiązanie Konrada jest dobre dla checkboxa, ale pytanie było o radio, gdzie toggle tak nie zadziała. Bardziej coś takiego:

$(window).ready(function(){
$(':radio[name=radio_group_name]').change(function() {
if($('#first_radio_id').is(':checked'))
$('#text_input_id').attr('disabled', 'disabled');
else
$('#text_input_id').removeAttr('disabled');
});
});​​​​​​​

konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

ale to chyba zadziała tylko dla dwóch radiobuttonów? (chyba, że czegoś nie zrozumiałem z tego kodu). Może lepiej tak:


<input name="radio_group_name" type='radio' /><input type='text' />
<input name="radio_group_name" type='radio' /><input type='text' />
<input name="radio_group_name" type='radio' /><input type='text' />
...
$(window).ready(function(){
$(":radio[name=radio_group_name]").click(function(){
$("input[type=text]").attr('disabled','disabled');
$(this).next().removeAttr('disabled');
});
});

konto usunięte

Temat: Zamrożenie pól formularza z poziomu CSS

heh, mój kod zakłada 2 radiobuttony a Twój konkretną strukturę htmla (text zaraz po radio), więc oba to tylko przykłady, które i tak trzeba sobie dostosować do konkretnych potrzeb ;)Krzysztof Kawa edytował(a) ten post dnia 26.05.12 o godzinie 11:10



Wyślij zaproszenie do