2012-09-05 38 views
1

我的初始表格計算變量$ finallowamount & $ finalhighamount,但我似乎無法將這些變量的值傳遞給我的jQuery聯繫人JavaScript文件(代碼如下)。任何幫助將不勝感激。謝謝。將計算的PHP變量傳遞給jQuery/Ajax表格

$(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="[email protected]"></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(); }); 
    }); 
}); 

});

+0

與這些ID是什麼元素?看起來這些不是輸入元素。對?你如何爲他們填充價值?任何html代碼片段都可以提供幫助。 – timidboy

+0

你能顯示HTML最終的最終值和finalhighamount值存儲 – Sibu

+0

謝謝Onchie和詩巫!我只有那些標記不正確的元素的ID。它現在完美運行!我如何讓你們指望我朝着正確的方向發展? –

回答

1

首先,當您在服務器上運行php時,javascript正在Web客戶端中運行。

如果您不想使用php var,則必須讓源代碼將這些var替換爲實際值。

您可以使用PHP包括這個文件,如果這是一個js文件:

//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" /> 
+0

感謝您的信息。有一個更簡單的答案,但我會保留這些代碼,以防將來需要它。 –