2012-11-09 63 views
-1

我想寫一小段HTML代碼,給定兩個初始量,試圖找到大於或等於第一個整數除以第二個給定量的數字。代碼試圖分割數字,如果它不成功,將第一個數字加1並嘗試再次分割等等...如何通過單擊HTML按鈕來執行JavaScript函數?

我希望代碼返回完全將第二個數字AND和該部門的答案(周圍出現一些純文本)。

除此之外,或者至少我希望那裏是,當點擊5個不同按鈕中的一個按鈕時,對第一個給定數字執行乘法運算,它被四捨五入到最接近的整數,並且然後函數試圖將它分成第二個給定的數字。

這是很難正是我想要的解釋沒有表現出你我到目前爲止的代碼,所以在這裏它是:


<html> 

<head> 

<b>Rounded Commodity Pricing:</b><br> 

<script language="Javascript"> 

function finddivid(marketprice,tradevalue) { 

var KWDex = 0.281955 
var GBPex = 0.625907 
var USDex = 1 
var CADex = 0.998727 
var EURex = 0.784594 

if 
    (currency == "KWD") 
    var currencyMarketprice = Math.ceil(marketprice*KWDex) 
else if 
    (currency == "GBP") 
    var currencyMarketprice = Math.ceil(marketprice*GBPex) 
else if 
    (currency == "USD") 
    var currencyMarketprice = Math.ceil(marketprice*USDex) 
else if 
    (currency == "CAD") 
    var currencyMarketprice = Math.ceil(marketprice*CADex) 
else if 
    (currency == "EUR") 
    var currencyMarketprice = Math.ceil(marketprice*EURex) 


if (tradevalue % currencyMarketprice == 0) 
    return ("tonnage = " + tradevalue/currencyMarketprice + " mt, and price = " + currencyMarketprice +" " +currency +" per mt"); 
else 
    {for (var counter = currencyMarketprice+1; counter<(currencyMarketprice*2); counter++) { 
    if (tradevalue % counter == 0) 
    return ("tonnage = " + tradevalue/counter + " mt, and price = " + counter +" " +currency +" per mt");}}}; 

</script> 

</head> 

<p>Select currency: 
<input type="button" value="KWD" OnClick="var currency = KWD"> 
<input type="button" value="USD" OnClick="var currency = USD"> 
<input type="button" value="GBP" OnClick="var currency = GBP"> 
<input type="button" value="EUR" OnClick="var currency = EUR"> 
<input type="button" value="CAD" OnClick="var currency = CAD"> 

<P>Enter today's price of commodity in USD: <input name="mktprc" input type="number"><br><p> 
<P>Enter value of trade: <input name="trdval" input type="number"> 

<input type="button" value="Calculate" OnClick="showMeArea.value=finddivid(mktprc,trdval);"> 

<p> 
<br><br> 

<input name="showMeArea" readonly="true" size="30"> 

</html> 

如果您在瀏覽器中,你應該運行這個網站看看我想達到什麼。

這還遠遠沒有完成,但這裏存在的主要問題/功能,我需要幫助:

  1. 我希望能夠在點擊「貨幣」按鈕中的一個點擊,這樣,變量'貨幣'被分配,然後在函數finddivid中使用。

(2.這個現在並不重要,但最終,一旦這個工作,我喜歡它,所以當點擊其中一個貨幣按鈕時,它會改變顏色,或突出顯示或某物以便用戶知道他們正在使用哪種貨幣匯率。)

  1. 將數字輸入到兩個框中後,我想單擊「計算」並將其返回到函數中寫入的' showMeArea'只讀框在代碼的末尾。

我知道我可能丟失的東西負載和我可能是英里遠的成功,但我是很新的程序設計(入門4天前!)所以想任何類似的可以提供幫助。

在此先感謝您的意見。

+0

有像 「HTML代碼」 沒有這樣的事 –

+0

@ WebnetMobile.com肯定有。你什麼意思? –

+0

這是標記,而不是代碼 –

回答

3

的第一個請求要求您把貨幣兌換成實際的腳本,我會建議使用setter函數:

<script language="Javascript"> 

var currency; // you might want to set this at a default just in case 

function setCurrency(val) { currency = val; } // Setter function 

function finddivid(marketprice,tradevalue) { 

然後把它在你的按鈕點擊:

<input type="button" value="KWD" onClick="setCurrency('KWD');"> 

由於對於第二個請求,我會說你的概念已經足夠好了,但是你沒有完全正確的方法。首先你輸入需要一個id屬性:name屬性用於張貼值

<input name="mktprc" id="mktprc" input type="number"> 
<input name="trdval" id="trdval" input type="number"> 

,id屬性是使用JavaScript來找到一個頁面中的元素。使用jQuery將使檢索這些元素很容易,但我會同時顯示jQuery和這樣的標準JavaScript方法:

的jQuery:

<input type="button" value="Calculate" OnClick="$('#showMeArea').val(finddivid($('#mktprc'),$(#'trdval')));"> 

$('#id')選擇的元素。方法.val()設置值。
jQuery純粹主義者的注意事項:是的,有很多更好/更復雜的方法可以用jQuery來實現,但這個回答是針對我對OP的JavaScript能力的理解。

標準的JavaScript:

<input type="button" value="Calculate" OnClick="document.getElementById('showMeArea').value = finddivid(document.getElementById('mktprc'),document.getElementById('trdval'));"> 
相關問題