簡単な式を計算するためにjavascript/jqueryを使用しています。オブジェクトを作成し、HTML 入力要素の値を、実行して回答を返すために必要なパラメーターとして使用することで、これを行っています。
これがjavascriptです(HTMLとCSSは、この質問の最後にあるjsfiddleリンクで提供されています):
var recP = $("#recP");
var recA = $("#recA");
var ansr = $("#ansr");
var l = $("#l").val();
var w = $("#w").val();
//rectangle
function Rectangle(length,width) {
this.length = length;
this.width = width;
this.calcPerim = function() {
return (this.length * 2) + (this.width * 2);
};
this.calcArea = function() {
return this.length * this.width;
};
};
var rectangle = new Rectangle(l,w); // l and w are defined in the above variables
var recPerim = rectangle.calcPerim(l,w);
var recArea = rectangle.calcArea(l,w);
recP.click(function() {
ansr.append("The perimeter is " + recPerim);
});
recA.click(function() {
ansr.append("The area is " + recArea);
});
入力要素の値を設定すると、期待どおりの結果が得られます。例:
<input type="text" id="l" value="3" />
<input type="text" id="w" value="4" />
は、面積に対して 12 を返し、周長に対して 14 を返しますが、入力ボックスで値を変更しても、同じ値を返します。本当にイライラして、何が悪いのか理解できません。値を設定しないことさえ試みましたが、それは単に 0 を返します。
これは、すべての HTML、CSS、および JS を含むjsFiddleです。値を変更しても、結果は同じです。私はjavascriptが初めてなので、助けていただければ幸いです。