2015-08-14 78 views
1

我有這樣的事情:的Javascript選擇單選按鈕改變PHP函數

<p>Until: <input value="<?php echo until_3months();?>" type="text" name="until"/></p> 
       <input type="radio" name="unt" id="3" value="3" checked="checked">3 months 
       <input type="radio" name="unt" id="6" value="6">6 months 
       <input type="radio" name="unt" id="12" value="12">12 months 

我想,當用戶查詢3/6/12個月,從收音機到改變我的PHP函數來until_3months()/ until_6months()/ until_12months()。我的事情是不可能的,所以我可以改變沒有PHP功能的價值,只是JavaScript。我的PHP函數將在今後3/6/12個月內計算。喜歡的東西保修期至+3/+6 /12個月從現在開始,我不知道如何在JavaScript替換此:

function until_3months(){ 
      $time = strtotime(date("Y-m-d")); 
      $final = date("Y-m-d", strtotime("+3 month", $time)); 
      return $final; 
     } 

回答

2

你不能改變如何PHP函數通過JavaScript交互,爲JavaScript有沒有辦法與PHP代碼交談,除非您向服務器發出AJAX請求並以這種方式詢問價值。然而,一個AJAX請求對於這樣的事情來說可能是過度的,並且不是必需的。

你想要做的是計算你的值並將它們附加到你的HTML。

<p>Until: <input id="date-text-field" value="" type="text" name="until"/></p> 
<input class="date-radio-button" data-date="<? echo until_3months(); ?>" type="radio" name="unt" id="3" value="3" checked="checked">3 months 
<input class="date-radio-button" data-date="<? echo until_6months(); ?>" type="radio" name="unt" id="6" value="6">6 months 
<input class="date-radio-button" data-date="<? echo until_12months(); ?>" type="radio" name="unt" id="12" value="12">12 months 

設置,現在可以使用在JavaScript(使用JQuery)像這樣那些值的那些值:當用戶點擊與類「日期單選按鈕單選按鈕

$('.date-radio-button').click(function(){ 
    $('#date-text-field').val($(this).attr('data-date')); 
}); 

'文本字段'#date-text-field'將被附加到單選按鈕的數據日期值更新。

+0

這完美的作品。謝謝 ! –