2012-01-05 205 views
1

我有一個PHP腳本和兩個文本框。其種類的貨幣兌換。如何使用JS自動更新第二個文本框更新值

如果用戶想要使用第一個文本框購買1美元,即使用第一個文本框5美元,並通過點擊標籤,下一個文本框將自動更新與php變量相乘。

它可能使用簡單的內聯JavaScript?

我的PHP變量爲 「$ CurrentValue的」

第一測試盒是名& ID = 「信用」 第二個文本框的名稱& ID = 「finalRupee」

請看下面的代碼它在一個function.php文件中

<form action="index.php" method="post" name="userFormJob" onSubmit="return validateForm()" enctype="multipart/form-data"> 
<table width= "100%"> 
<tr> 
<td colspan="2"><strong><?php echo JText::_('PRICE FOR 1 CREDIT'); ?> = <?php echo $currencytype . ' ' . $currency.' '; ?> &nbsp;<?php echo $price_credit; ?> (Please Note: For One credit value you can post 1 Job for 1 Day)</strong></td> 
</tr> 
<tr> 
<td><p> <b> 
<?php 
$content = file_get_contents("http://www.xe.com/ucc/convert.cgi?From=USD&To=INR& Amount=1.&template=pca-xetrade"); 
$content = explode('<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0>',$content); 
$content = str_replace('<TD VALIGN=MIDDLE ALIGN=RIGHT><FONT  FACE="Arial,Helvetica"><B>', "", "$content[1]"); 
$content = explode('<TD COLSPAN=3 ALIGN=CENTER><FONT FACE="Arial,Helvetica"  SIZE=-2>',$content); 
$toremove = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ">", "<", "\"", "\'", "=", ",", "/", "-1"); 

$content = str_replace($toremove, "", "$content[0]"); 
$final = explode('+1',$content); 

$from_code = "USD"; 
$to_code = "INR"; 
$currency = $config-> get('currency'); 

echo '<b>' .$final[0]. ' ' .$from_code. ' =' .$final[1]. ' ' .$to_code. '</b>'; 
?> 
</b></p></td> 
</tr> 
<tr> 
<td><?php echo JText::_('BUY'); ?></td> 
<td><input type="text" name="credit" id="credit" class="inputbox"  onKeyPress="return  isNumberKey(event)" /> 
<?php 
$currentValue = $final[1]; 
?> 
<?php echo JText::_('CREDIT'); ?> 
<input name="finalRupee" type="text" class="inputbox" id="finalRupee" onKeyPress="return isNumberKey(event)" value="<?php ?>" readonly /></td> 
</tr> 
<tr> 
<td colspan="2" >Please Use Currency Convert for Dollar to Rupees <a  href="http://www.xe.com/ucc/convert.cgi?Amount=1&From=USD&To=INR&template=8n"  target="_blank">Click Here</a></td> 
</tr> 
<tr> 
<td colspan="2" ><b><?php echo JText::_('BILLING ADDRESS'); ?></b></td> 
</tr> 
<tr> 
<td><?php echo JText::_('ADDRESS'); ?></td> 
<td><input class="inputbox" type="text" name="address" id ="address" size="40"  maxlength="255" value="<?php echo $row->bill_addr; ?>"/></td> 
</tr> 
<tr> 
<td><?php echo JText::_('ADDRESS CONT'); ?>:</td> 
<td><input class="inputbox" type="text" size="40" maxlength="255" name="address_cont" id ="address_cont" value="<?php echo $row->bill_addr_cont; ?>"/></td> 
</tr> 
<tr> 
<td><?php echo JText::_('CITY'); ?>: </td> 
<td><input class="inputbox" type="text" name="city" id ="city" value="<?php echo  $row->bill_city; ?>"/></td> 
</tr> 
<tr> 
<td><?php echo JText::_('STATE'); ?>:</td> 
<td><input class="inputbox" type="text" name="state" id ="state" value="<?php echo  $row->bill_state; ?>"/></td> 
</tr> 
<tr> 
<td><?php echo JText::_('COUNTRY'); ?>:</td> 
<td><?php 
$list_country = getSelectCountry('id_country',$row->bill_id_country,''); 
echo $list_country; 
?></td> 
</tr> 
<tr> 
<td><?php echo JText::_('ZIP POSTAL'); ?>:</td> 
<td><input class="inputbox" type="text" name="zip" id ="zip" value="<?php echo   $row->bill_zip; ?>"/></td> 
</tr> 
<tr> 
<td><?php echo JText::_('PHONE'); ?>:</td> 
<td><input class="inputbox" type="text" name="phone" id ="phone" value="<?php echo  $row->bill_phone; ?>"/></td> 
</tr> 
<tr> 
<td><?php echo JText::_('PAYMENT'); ?>:</td> 
<td><select name="mode_pay"> 
<option value="m"><?php echo JText::_('MANUAL'); ?>/<?php echo JText::_('TRANSFER');  ?></option> 
<option value="p">PayPall Secure Pay</option> 
</select></td> 
</tr> 
<tr> 
<td colspan="2">&nbsp;</td> 
</tr> 
<tr> 
<td colspan="2"><center> 
<img src="http://www.jobodisha.com/images/stories/powered_by.png" alt="Pay Pal Secure Payments" width="497" height="149" align="absmiddle"> 
</center></td> 
</tr> 
</table> 
<input type="submit" value="<?php echo JText::_('BUY'); ?>" class="button" /> 
<input type="hidden" name="option" value="<?php echo $option; ?>" /> 
<input type="hidden" name="task" value="savebuycredit" /> 
<input type="hidden" name="boxchecked" value="0" /> 
<?php echo JHTML::_('form.token'); ?> 
</form> 
+0

如果我的回答或DeviantSeev的幫助,你可以選擇接受的答案。 – 2012-08-18 00:23:16

回答

2

你不需要php來做簡單的乘法計算。對於這個簡單的內聯jQuery代碼將是:

var individualCost= 5; 
var amount = $("#credit").val(); 
$("#finalRupee").val(amount * individualCost); 
+0

這是一個joomla網站,該文件位於模塊的功能文件中,我不知道它是否會起作用?我是否需要將您的腳本放在標記下? – user1132928 2012-01-05 19:53:48

+0

是的,你需要把它放在腳本標籤內,但你可能需要做更多的事情才能使它按照你想要的方式工作。此外,您需要確保該網站已安裝jquery,否則此代碼將無法正常工作,您可以使用Rhino的純javascript解決方案。 – evasilchenko 2012-01-05 20:12:11

+0

@DeviantSeev - 如果包含jQuery,你的解決方案會更容易,而且理解起來要簡單得多,但如果包含事件處理函數,它會稍微複雜一些。 – 2012-01-05 20:31:33

1

我會用

<script>var conversionRate = <?php echo $currentValue; ?>;</script> 

得到變量到JavaScript從PHP,然後處理JavaScript中的轉換時,第一個文本框的損失集中:

<script> 
    document.getElementById("credit").onblur = function() { 
     document.getElementById("finalRupee").value = this.value * conversionRate; 
    }; 
</script> 

該代碼無需任何附加庫。如果您已經在使用jQuery或其他庫,那麼您可能更喜歡較短的代碼,但這種方式沒有任何依賴性。

請告訴我,如果有任何我可以詳細說明,或者如果有什麼我沒有回答。

更新
剛剛意識到我已經把<?php echo $currentValue; ?>引號,它不應該。代碼已修復。

+0

哇謝謝!讓我試試 – user1132928 2012-01-05 20:02:18

+0

@ user1132928 - 你試過了嗎?它是如何工作的? – 2012-01-05 22:39:01

0

我嘗試了下面的方法和它的工作。

<?php 

    $content = file_get_contents("http://www.xe.com/ucc/convert.cgi?From=USD&To=INR&Amount=1.&template=pca-xetrade"); 

    $content = explode('<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0>',$content); 

    $content = str_replace('<TD VALIGN=MIDDLE ALIGN=RIGHT><FONT FACE="Arial,Helvetica"><B>', "", "$content[1]"); 

    $content = explode('<TD COLSPAN=3 ALIGN=CENTER><FONT FACE="Arial,Helvetica" SIZE=-2>',$content); 

    $toremove = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ">", "<", "\"", "\'", "=", ",", "/", "-1"); 

    $content = str_replace($toremove, "", "$content[0]"); 

    $final = explode('+1',$content); 

    $from_code = "USD"; 

    $to_code = "INR"; 

    $currency = $config-> get('currency'); 

    echo '<h3> Today Cost of ' .$final[0]. ' ' .$from_code. ' =' .$final[1]. ' ' .$to_code. '</h3>'; 
?>