-1

私は、2つの初期量が与えられた場合に、2番目の与えられた量を完全に分割する最初の量以上の数を見つけようとする短いHTMLコードを書き込もうとしています。コードは数値を除算しようとしますが、失敗した場合は、最初の数値に1を加算して、再度除算しようとします。

2番目の数値を完全に除算する値と除算の答えをコードに返すようにします(その周りにプレーンテキストが表示されます)。

これに加えて、または少なくとも私が望んでいるのは、5つの異なるボタンのいずれかをクリックすると、最初に指定された数値に対して乗算操作が実行され、最も近い整数に切り上げられてから、関数が試行することです。これを2番目に与えられた数に分割します。

私がこれまでに持っているコードをあなたに示さずに私が欲しいものを正確に説明するのは難しいので、ここにそれがあります:


<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>

このhtmlをブラウザで実行すると、私が達成しようとしていることがわかるはずです。

完全にはほど遠いですが、私が助けを必要としている主な問題/機能は次のとおりです。

  1. 「通貨」ボタンの1つをクリックして、クリックすると変数「通貨」が割り当てられ、関数finddividで使用できるようにしたいと思います。

(2.これは今のところそれほど重要ではありませんが、最終的には、これが機能したら、通貨ボタンの1つをクリックすると色が変わるか、強調表示されるか、ユーザーがどちらかを認識できるようにしたいと思います。彼らが使用している為替レート。)

  1. 2つのボックスに数値を入力したら、[計算]をクリックして、関数に書き込んだ内容をコードの最後にある[showMeArea]読み取り専用ボックスに返します。

私はおそらくたくさんのものが不足していることを知っています、そして私は成功から何マイルも離れているかもしれませんが、私はプログラミングに非常に慣れていません(4日前に開始しました!)ので、提供できる助けがあればいいのですが。

コメントをよろしくお願いします。

4

1 に答える 1

3

最初のリクエストでは、通貨を実際のスクリプトに入れる必要があります。セッター関数を使用することをお勧めします。

<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');">

2番目のリクエストについては、コンセプトは十分に理解できていると思いますが、正確な方法がありません。まず、入力にはid属性が必要です。

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

name属性は値を投稿するために使用され、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'));">
于 2012-11-09T13:40:32.680 に答える