2012-10-12 74 views
-2

我正在構建一個計算表單字段的比薩訂購表單,取決於用戶選擇並返回總數。 第一次輸入將是貨幣下降,一旦用戶選擇貨幣,它應該將價值傳遞給PHP變量$ currency(這樣它將計算匯率) 而不需要提交表格當然。將下拉值傳遞給PHP變量(不提交使用jQuery)

我見過很多類似的代碼,但很困惑,我知道我應該使用JavaScript/Ajax,但是我的知識很薄弱。

您能否粘貼一個簡單的代碼,將$貨幣值傳遞給PHP?

<html> 
<head> 
<title></title> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
jQuery(function($){ 
    $("#currency").change(function(){ 
     var selected_value = $(this).val(); 
     /*AJAX CODE HERE TO PASS VALUE OF DROP DOWN TO PHP*/ 
     $.post("CurrencyCalculator.php", $("#currency").serialize()); //this is the problematic part: it needs to pass the $currency variable 
    }) 

}) 
</script> 
</head> 
<body> 
Select any one: 
<select id="currency" name="currency" onchange="selectDropdown()"> 
<option value="EUR" >Euro</option> 
<option value="USD" >US Dollar</option> 
<option value="GBP" >British Pound</option> 
</select> 


</body> 
</html> 
+2

多少會得到這個?你有沒有檢查http://php.net/manual/en/function.money-format.php –

+0

你讀過jQuery文檔嗎? http://api.jquery.com/jQuery.post/將是一個很好的開始。 – mcrumley

+0

我知道答案在這裏http://api.jquery.com/jQuery.post/但我無法弄清楚仍然:) – user1741397

回答

0

在HTML返回到瀏覽器之前,服務器上運行Php。由於這個原因你不能將一個值從一個html表單傳遞給一個php變量。

但是,您可以將表單提交給php頁面進行處理。

<form action="myPhpPage.php"> 

然後myPhpPage.php裏面可以使用$ _GET [「VARIABLENAME」]檢索值

+0

嗯但那就是點,我不希望在表單中額外提交按鈕 – user1741397

+0

我已經嘗試過你的甲殼蟲,問題是它的「myPhpPage.php?currency = USD」insead只是重新加載相同的表單頁面繼續 - 所以圓盾t是一旦選擇,頁面不submited或重新加載這需要jquery/java ajax代碼:( – user1741397

0

自一個下拉菜單,選擇貨幣,給菜單中的屬性onchange和將信息發送到您的PHP文件進行處理。

+0

<腳本類型= 「文本/ JavaScript的」> \t jQuery的(函數($){ \t \t $( 「#貨幣」)。變化(函數(){ \t \t \t變種SELECTED_VALUE = $(本).VAL(); \t \t \t/* AJAX代碼在這裏變爲下降開始到PHP */ \t \t \t $ .POST( 「t3.php」 PASS DROP的值時,$( 「#currency」)。serialize()); //這樣的東西?? \t \t}) \t \t \t}) 選擇任何一個: <選擇ID = 「貨幣」 名稱= 「貨幣」 的onchange = 「selectDropdown()」> <選項值= 「EUR」>歐元 user1741397

+0

我不知道jQuery或您希望您的ajax代碼的外觀,但是使用下拉菜單時非常(注意:非常)提交此數據的基本方式是這樣的: '<?php $ currency = $ _REQUEST ['currency'] 回聲$貨幣 ?> <形式名稱= 「MainForm的」 行動= 「」 方法= 「POST」> <選擇name = 「貨幣」 的onchange =「this.form.submit() 「> <選項值=」 EUR 「>歐元 <選項值=」 USD「> USD ' –

+0

嗯不大,因爲這將發佈的所有形式。下拉功能是改變表單的價格值(這是在單獨的PHP文件中完成的,所以我需要的是繞過$貨幣的價值到包括的PHP文件 – user1741397

0

嘗試尋找到$ _ POST和$ _GET

<?php 

if(($_POST['submit'])) 
{ 

    // do your stuff 
} 

?> 

<form action="something" method="post"> 
<input type="submit" name="submit" value="Vote!"> 
</form> 

按下此形式下,6phpp的代碼將運行