1

私の最初のフォームは変数 $finallowamount と $finalhighamount を計算しますが、これらの変数の値を jQuery 連絡先 JavaScript ファイル (以下のコード) に渡すことができないようです。どんな助けでも大歓迎です。ありがとう。

    $(function() {
$('a.email').click(function(event) {
    event.preventDefault();

    $('body').append('<div id="popupshadow"></div><div id="popup"></div>');
    $('#popupshadow').css({opacity:0}).animate({opacity:0.7},1000);
    $('#popup').css({opacity:0}).delay(1200).animate({opacity:1},800);
    $('#popup').html('<form class="contact" action="#" method="post"><table class="contact"><tr><td class="input-name">Name:</td><td><input type="text" name="name" size="25" /></td></tr><tr><td class="input-email">Email:</td><td><input type="email" name="email" size="25" /></td></tr><tr><td class="input-phone">Phone:</td><td><input type="phone" name="phone" size="25" /></td></tr><tr><td></td><td><input type="submit" value="Send" /></td></tr></table><input type="hidden" name="to" value="noahldavis@gmail.com"></form>');
    $('form.contact').submit(function(event) {
        $('form.contact td').css('color','#000000');

        var name = $('form.contact input[name="name"]').val();
        var email = $('form.contact input[name="email"]').val();
        var phone = $('form.contact input[name="phone"]').val();
        var to = $('form.contact input[name="to"]').val();

        var valid = true;
        if(name == "") 

        {
            valid = false;
            $('td.input-name').css('color','#FF0000');
        }
        if(email == "" && phone == "")
            valid = false;
        if(email == "")
            $('td.input-email').css('color','#FF0000');
        if(phone == "")
            $('td.input-phone').css('color','#FF0000');

        var message = 'message';
        var paymentstreamtype = $("#ssq_rc_general input[type=radio]:checked").val();
        var finallowamount = $("#finallowamount").html();
        var finalhighamount = $("#finalhighamount").html();


        if(valid) {
            $.ajax({url : 'contact.php',
                    data : {name : name,
                            email : email,
                            phone : phone,
                            message : message,
                            paymentstreamtype : paymentstreamtype,
                            finallowamount : finallowamount,
                            finalhighamount : finalhighamount,
                            to : to},
                    type : 'post',
                    success : function(data) {
                        $('#popup').html('<p style="text-align:center;">Your message has been sent.</p>');
                        $('#popup, #popupshadow').delay(1000).animate({opacity:0},500).delay(500).queue(function() { $(this).remove(); });
                    }
            });
        }
        event.preventDefault();
        return false;
    });
    $('#popupshadow, a.cancel').click(function(event) {
        $('#popup, #popupshadow').animate({opacity:0},500).delay(500).queue(function() { $(this).remove(); });
    });
});

});

4

1 に答える 1

1

まず、php がサーバー上で実行されている間に、javascript が Web クライアントで実行されます。

PHP 変数を使用しない場合は、ソースがこれらの変数を実際の値に置き換えられるようにする必要があります。

これが 1 つの js ファイルである場合は、このファイルを含む php を使用できます。

//loadjs.php
public function loadJs()
{
    if(extension_loaded('zlib')) {
        //check gzib
        ob_start('ob_gzhandler');
    }

    header ("content-type: application/javascript; charset: UTF-8");
    header ("cache-control: must-revalidate");
    $offset = 60 * 60 * 24;
    $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
    header ($expire);
    ob_start("compress");
    $js = array(
        '0'=>array('/js/swf/swfupload.js'),
    );

    foreach($js as $key=>$value){
        foreach($value as $v){
            include $v;
        }
    }

    if(extension_loaded('zlib')){
        ob_end_flush();//flush all buffer content
    }
}
loadJs()

//then,load this js file in your html file:
<script src="loadjs.php" />
于 2012-09-05T02:28:27.057 に答える