2015-11-04 38 views
1

我有三個變量。二是從數據庫服務器端:執行計算服務器和客戶端

$base_duration = $arr['adzone_buyandsell_duration']

$base_price = $price['price']

都是int。第三個是用戶輸入:<input type="text" name="duration" value="">我需要執行如下計算:$cal_price = $base_duration/$base_price * user_input然後我需要能夠通過$cal_price回到能夠向用戶收取正確的價格。我對PHP很熟悉,但不知道如何在提交表單時實時執行此計算。

+1

Ajax是你的朋友。 http://api.jquery.com/jquery.ajax/ – Jono20201

+0

他沒有指定他使用jQuery,但是對AJAX – Terminus

+0

是。或者你可以將你的值傳遞給html並計算客戶端的'cal_price'。但是如果這些值是祕密的,或者它們可以實時更改,並且希望確保它們是最新的,那麼就像其他評論者已經寫過的那樣使用Ajax。 – chapay

回答

2

當前兩個值僅在頁面加載或重新刷新時發生更改時,不需要AJAX調用。

下面的代碼添加到您的網頁:

<script> 
$('document').ready(function(){ 
     $('#duration').change(function(){ 
      var base_duration = <?= $arr['adzone_buyandsell_duration'] ?>; 
      var base_price = <?= $price['price'] ?>; 
      var userInput  = $('#duration').val(); 
      var cal_price  = base_duration/base_price * userInput; 

      $('#calPrice').html(cal_price); 
     }); 
}); 
</script> 

將計算結果添加到編號calPrice一個div,你必須給輸入字段duration

我創建了一個標識jsFildle讓你看到它的完整的榮耀代碼。我只是爲你的php變量使用虛擬數據。

https://jsfiddle.net/03e3t137/

確保您的網頁上加入下面的行添加的jQuery在<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

+0

請提供一個不使用JQuery的例子,因爲在這種情況下它不是必需的。 – chapay

+0

我不介意使用jQuery,因爲它已經加載到我的網站 – yobddigi

+0

@chapay - 爲什麼你不想使用jQuery。我個人更喜歡jQuery以上的JavaScript,因爲代碼是更清潔的jQuery。 – AgeDeO