Mam wymóg, aby pole tekstowe wymagało edycji lub renderowania po zaznaczeniu pola wyboru, w jaki sposób mogę to zrobić?Wyświetl pole tekstowe po zaznaczeniu pola wyboru w obiekcie wizualnym
Odpowiedz
Oto ściśle kod Visualforce próbki, które będą działać także:
<apex:pageBlock id="theBlock">
<apex:inputCheckbox value="{!theSObject.CheckBox__c}">
<apex:actionSupport event="onchange" rerender="theBlock"/>
</apex:inputCheckbox>
<apex:inputText value="{!theSObject.TextField__c}" disabled="false" rendered="{!(theSObject.CheckBox__c == true)}"/>
<apex:inputText value="{!theSObject.TextField__c}" disabled="true" rendered="{!(theSObject.CheckBox__c != true)}"/>
<!-- Or to simply have a field that appears only when the box is checked -->
<apex:inputText value="{!theSObject.TextField__c}" rendered="{!(theSObject.CheckBox__c == true)}"/>
</apex:pageBlock>
Oprócz tego, można dodać akcję we wsparciu działań, jeśli chcesz zrobić dalsze przetwarzanie w Apex, jak poniżej:
<apex:actionSupport event="onchange" action="{!myMethod}" rerender="theBlock"/>
nadzieję, że pomoże
Możesz użyć javascript, aby przełączyć wyłączony atrybut elementu wprowadzania tekstu. Poniżej znajduje się przykładowa strona pokazująca, jak, zauważ, jest tu kilka osobliwości.
Po pierwsze, jeśli wyłączyć pole początkowo stosując disabled="true"
na <apex:inputText>
wtedy nawet jeśli go włączyć, wprowadzane wartości będą nie być odesłane do sterownika, a więc wyłączenie pola na obciążeniu z javascript. Wierzę, że to ma zapobiec jakiejkolwiek szansie na aktualizację wartości pola, gdy programista określi, że powinna być wyłączona.
Drugim nieparzystym punktem jest to, że nawet jeśli ustawisz element.disabled
na "disabeld", aby wyłączyć element, aby sprawdzić, czy jest on wyłączony, musisz traktować go jako wartość boolowską!
<apex:page standardController="Contact">
<apex:form >
<script type="text/javascript">
function ToggleInput(theId)
{
var e = document.getElementById(theId);
if(e != null)
{
e.disabled = (e.disabled ? false : "disabled");
}
}
window.onload = function() { document.getElementById('{!$Component.textInput}').disabled = "disabled"; }
</script>
<apex:inputCheckbox onchange="ToggleInput('{!$Component.textInput}');" value="{!Contact.Some_Checkbox__c}"/>
<apex:inputText id="textInput" value="{!Contact.Some_Text_Field__c}"/>
<apex:commandButton action="{!Save}" value="Update"/>
</apex:form>
</apex:page>
Aby to wszystko zrobić bez javascript, wyobrażam sobie, że można ustawić atrybut wyłączył <apex:inputText>
„s na podstawie wartości pola checkbox, a następnie użyć tagu <apex:actionSupport>
ognia działanie, gdy zmienia się pole wyboru i określić identyfikator atrybutu <apex:inputText>
w atrybucie rerender
. Trzeba też zawinąć go w <apex:actionRegion>
, aby zapobiec wysyłaniu innych pól i powodować błędy w sprawdzaniu poprawności, jeśli wymagane pola nie są wypełnione itd. Oznacza to również, że trzeba czekać na żądanie zmiany stanu pola tekstowego, więc javascript jest najlepszą drogą do prędkości.
- 1. wysyłanie formularza po zaznaczeniu pola wyboru
- 2. Wyczyść pole tekstowe w Autouzupełnianie Jquery po zaznaczeniu
- 3. Zdarzenie JAVAFX wyzwalane po zaznaczeniu pola wyboru
- 4. wyłączyć pole po zaznaczeniu android
- 5. Dlaczego pola wyboru przesuwają się po zaznaczeniu w Safari?
- 6. Jak ustawić pole tekstowe jako pole wyboru w django
- 7. JQuery pole tekstowe walidacji-input być wymagane, jeżeli zaznaczone pole wyboru
- 8. Jak dodać pole tekstowe wewnątrz listy wyboru w C#?
- 9. Jak wyczyścić pole tekstowe wyboru daty jQuery tylko do odczytu?
- 10. Arabskie pole tekstowe
- 11. Wyłączanie pola tekstowego w zależności od zaznaczonego pola wyboru
- 12. Włącz/wyłącz pole tekstowe na podstawie zaznaczenia pola wyboru w WPF przy użyciu MVVM
- 13. Automatycznie wypełnij pole tekstowe asp.net
- 14. Aktywuj pole wejściowe z pola wyboru wejściowego
- 15. Sformatuj wszystkie etykiety po zaznaczeniu pola wyboru i przycisku opcji z selektorem css
- 16. Wyłączyć pole tekstowe bez zmiany stylu?
- 17. Django: Wyświetl wartości wybranego pola wielokrotnego wyboru w szablonie
- 18. Przełącz pole wyboru
- 19. Zaktualizuj pole tekstowe podczas pisania
- 20. Włączanie i wyłączanie pola tekstowego, jeśli zaznaczono to pole wyboru:
- 21. Niestandardowe pole wyboru w silverlight
- 22. Google Suggestish pole tekstowe (autouzupełnianie)
- 23. Pole tekstowe z sugestiami rozwijanymi
- 24. Wyłączanie pola wyboru w mvc3
- 25. Pole tekstowe z "nową linią"
- 26. Django Pole wyboru wielokrotnego/pole wyboru Wybierz numer
- 27. simple_form pole wyboru Bootstrap
- 28. asp.net Walidator na pole tekstowe
- 29. Niereferowalne pole tekstowe
- 30. Nieeksportowalne pole tekstowe wxPython
Dzięki, myślę, że to wygląda jak to działa na mnie – user1048080
Impreza actionSupport na pole wyboru powinno być onclick, onchange nie jest niezawodne we wszystkich przeglądarkach. –
Często zapominam, że ludzie nadal używają IE;) Dzięki Jordy - dobry połów. – Adam