Wątek przeniesiony 2014-02-28 00:58 z Java przez bogdans.

Pobranie wartości ze zmiennej

0

Witam, zleciłem kiedyś komuś aby napisał dla mnie pewien kalkulator w javie <ins>JAVASCRIPCIE</ins>. Obecnie potrzebuje wprowadzić w nim małą modyfikację jednak nie znam się kompletnie na javie stąd moja prośba o pomoc na tym forum. A więc do rzeczy.

Na mojej stronie internetowej chce dodać przycisk PAYPALA, który za cenę wstawi wartość jaką wyliczył ten kalkulator. Z tego co zrozumiałem z kodu javy <ins>JAVASCRIPT</ins> wartość jaką podaje kalkulator kryje się pod zmienną
$('#price).text('Price: ' + cenaNowa + ' $');
Sposób wyliczania wartośći chyba nie jest ważny z punktu mojego pytania. Kluczowe pytanie to jak przenieść wartość z #price do przycisku paypala, ktory znajduje się w htmlu.
Na chłopski rozum stworzyłem w pliku .js coś takiego:
$('#cena').val('price');
a zmienną cena wrzuciłem w kod przycisku w html. Niestety jednak takie rozwiązanie nie działa. CO WAŻNE gdy zamiast price wpisze np. 11 to przycisk paypala działa. Dlaczego więc stała wartość działa i przenosi się z js do html natomiast wartość jaka kryje się pod price już się nie przenosi?

0

wrzuć kod html tego kodu od paypala

0

Najlepiej jak wrzucisz kod, ale spróbuj tego rozwiązania, dobrze kombinujesz:

$('#cena').val(cenaNowa);
zamiast
$('#cena').val('price');
Bo skoro chcesz wrzucić wyliczenia kalkulatora, które kryją się pod zmienną cenaNowa to dlaczego wpisujesz 'price', tak na chłopski rozum? :D

0

Z cenaNowa też nie działa. Prawdopodobnie dlatego, że ta zmienna cenaNowa jest zdefiniowana wewnątrz funkcji tego kalkulatora. Zastanawia mnie jednak dlaczego w takim razie jeśli zrobię zmienną globalną np. var price12 = 12; i podstawie to w $('#cena').val(price12); to też nie działa. Działa tylko opcja ze stałą liczbą np. : $('#cena').val(12); albo opcja bez niczego wtedy ktoś może sobie sam podać wartość, ale to też mnie nie satysfakcjonuje np. $('#cena').val('');

<form name="_xclick" action="https://www.paypal.com/pl/cgi-bin/webscr" method="post" class="center"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="[email protected]"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name="item_name" id="nazwa" value=""> <input type="hidden" id="cena" name="amount" value=""> <input type="image" src="http://www.paypal.com/pl_PL/i/btn/x-click-but01.gif" border="0" name="submit" alt="Płać za pomocą systemu PayPal — jest szybki, bezpłatny i bezpieczny!"> </form>

Jeśli ktoś mógłby poświecić mi 15 min na ogarnięcie tego to proszę o kontakt gg - 8267191

0

w takim razie po prostu przesyłasz nieustawioną zmienną. wrzuć cały ten kod, razem z kalkulatorem i obliczeniami

0

Tutaj jest ta część z javasrciptu kalkulatora

var TypePrice = [1,2,3.4,5,6]; 
var NumberPrice = [1,2,3,4,5];

$(document).ready(function(){   
    onChange();
    $('#jqslider').slider({
        min: 1
        max: 10
        slide: function(event, ui){
            $('#amount').val(ui.value);
            onChange();
        }
    });

    $('#sType, #sNumber, #amount, #chbox4, #chbox5, #chbox6').change(function(){
        onChange();
    });

    $('#sType2, #sLevel2, #sType3, #sLevel3, #sNumber2, #chbox1, #chbox2, #chbox3').change(function(){
        onChange2();
    });

    function onChange(){
        var typeIndex = $('#sType')[0].selectedIndex;
        var type = $('#sType').val();
        var numIndex = $('#sNumber')[0].selectedIndex;
        var num = $('#sNumber').val();

        var amount = $('#amount').val();

        $('#icon').attr('src', 'images/'+type.toLowerCase()+'_1.png');
        if(type == "normal" || type == "Unranked")
        {
            $('#sNumber').css('display','none');
            numIndex = 0;
        }
        else
            $('#sNumber').css('display','inline');

        var cena = TypePrice[typeIndex] * NumberPrice[numIndex] * amount;
        cenaNowa = cena;            
        cenaNowa = Math.floor(cenaNowa * 100)/100;

        $('#price').text('Price: '+cenaNowa+' $');
    }

//paypal

$('#cenapaypal').val('cenaNowa');
$('#nazwa').val('do zapłaty');
    function distance(){
        var dist1 = $('#sType2')[0].selectedIndex * 5 + parseInt($('#sLevel2').val());
        var dist2 = $('#sType3')[0].selectedIndex * 5 + parseInt($('#sLevel3').val());
        var distances = new Array(dist1, dist2);
        return distances;
    }
});

A tutaj kod html przycisku paypala

<!-- Przycisk paypal -->
               <form name="_xclick" action="https://www.paypal.com/pl/cgi-bin/webscr" method="post" class="center">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="[email protected]">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="item_name" id="nazwa" value="">
<input type="hidden" id="cenapaypal" name="amount" value="">
<input type="image" src="http://www.paypal.com/pl_PL/i/btn/x-click-but01.gif" border="0" name="submit" alt="Płać za pomocą systemu PayPal — jest szybki, bezpłatny i bezpieczny!">
</form>
0

a nie wystarczy, żebyś to:
$('#cenapaypal').val(cenaNowa);
wpisał zaraz pod:
$('#price').text('Price: '+cenaNowa+' $');
?

0

Niestety to też nie zadziałało, po naciśnięciu przycisku wyświetla się coś takiego: http://i.imgur.com/HPuWRf6.png

Jakieś inne pomysły?

0
dzek69 napisał(a):

a nie wystarczy, żebyś to:
$('#cenapaypal').val(cenaNowa);
wpisał zaraz pod:
$('#price').text('Price: '+cenaNowa+' $');
?

mała poprawka wstawiłem pod
$('#cenapaypal').val(cena);

i zadziałało, dzięki wielkie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0