Merhaba,

tutar isimli inputtext disabled özelliğini true yaptığımda bean tarafında null gidiyor. disabled yapılmadığında normal değer alıyor. Benim istediğim ise kullanıcı hesaplanmış değeri değiştirmesin. Bunu nasıl yapabilirim.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
    <h:head>
        <title>Facelet Title</title>
        <h:outputScript library="scripts" name="formatcurrency.js"/>
        <h:outputScript library="scripts" name="formatcurrencyall.js"/>
        <h:outputScript library="scripts" name="maskmoney.js"/>
        <h:outputScript library="primefaces" name="jquery/jquery.js"/>
        <h:outputStylesheet library="css" name="pfcrud.css"/>
    </h:head>
    <h:body>
        <h:form id="formName">
            <script type="text/javascript">
//<![CDATA[

                function hesapla() {

                    var fiyat = $('#formName\\\\:fiyat').val();

                    var kdv = $('#formName\\\\:kdv').val();
                    var tutar = 0;

                    if (fiyat != null && fiyat != "" && kdv != null && kdv != "") {
                        tutar = parseFloat(fiyat.replace(/\\./g, '').replace(',', '.')) + parseFloat(iskonto_hesapla(fiyat, kdv));
                    }

                    $('#formName\\\\:tutar').val(tutar);
                    formatla('#formName\\\\:tutar');
                }
                function iskonto_hesapla(fiyat, kdv) {
                    //return 0;
                    return (fiyat.replace(/\\./g, '').replace(',', '.') * kdv.replace(/\\./g, '').replace(',', '.')) / 100;
                }

                function formatla(divId) {
                    //alert(divId)           ;
                    $(divId).formatCurrency($.extend({colorize: true}, $.formatCurrency.regions['tr-TR']));
                }

                $(function () {
                    $('.para2').maskMoney();
                });

                //]]>
            </script>

            <p:growl id="growl" showDetail="true" sticky="true" />  
            <p:panelGrid columns="2" columnClasses="column">
                <p:outputLabel value="Fiyat" for="fiyat"/>
                <p:inputText id="fiyat" value="#{testBean.fiyat}" converter="decimalConvert" class="para2" onkeyup="hesapla()"/>

                <p:outputLabel value="KDV" for="kdv"/>
                <p:inputText id="kdv" value="#{testBean.kdv}" class="para3" onkeyup="hesapla()"/>

                <p:outputLabel value="Tutar" for="tutar"/>
                <p:inputText id="tutar" value="#{testBean.tutar}" disabled="true" class="test"  converter="decimalConvert" style="text-align: right"/>

                <f:facet name="footer">
                    <div style="float: left">
                        <p:commandButton value="yazdir" id="yazdir"  actionListener="#{testBean.yazdir()}" update="growl"/>
                    </div>
                </f:facet>
            </p:panelGrid>

        </h:form>
    </h:body>
</html>

soruldu: 05 Eyl '15, 11:43

kurtomerfaruk's gravatar image

kurtomerfaruk
1.3k222940
cevap kabul oranı: 30%

değiştirildi: 05 Eyl '15, 11:51


disabled yerine readonly deneyebilirsin.

permanent link

cevaplandı: 05 Eyl '15, 11:45

SaRPaRDa's gravatar image

SaRPaRDa
5.0k213165
cevap kabul oranı: 27%

denendi sonuç aynı değişen birşey olmadı

(05 Eyl '15, 11:54) kurtomerfaruk kurtomerfaruk's gravatar image

Zannımca javascript aracılığıyla yaptığın değişiklikler update olmuyor.

Neden hesabı javascript ile yapıyorsun? Bean içerisinde hesap yapıp ajax update kullanabilirsin.

veya javascript içerisinde

var inputTutar = document.getElementById('tutar'); 
inputTutar.value = tutar;

olarak deneyebilirsin.

disable etmene gerek olmayacağı için hidden kullanarakta yapabilirsin.

(05 Eyl '15, 12:38) SaRPaRDa SaRPaRDa's gravatar image

Bean içerisinde yapıp ajax ile update ettim o şekilde çözdüm. Teşekkürler yardımlarınız için.

(06 Eyl '15, 05:13) kurtomerfaruk kurtomerfaruk's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×281
×97

Soruldu: 05 Eyl '15, 11:43

Görüntüleme: 401 kez

Son güncelleme: 06 Eyl '15, 05:13

powered by BitNami OSQA