配列のような関数を作ることは可能ですか? となり、以下の機能が簡単になり、簡単に編集できるようになります。 javascriptの配列関数を作る
function q1() {
var theForm = document.forms["contact-form"];
var quantity = theForm.elements["q1"];
var howmany = 0;
if (quantity.value != "") {
howmany = parseInt(quantity.value);
}
return howmany;
}
function q2() {
var theForm = document.forms["contact-form"];
var quantity = theForm.elements["q2"];
var howmany = 0;
if (quantity.value != "") {
howmany = parseInt(quantity.value);
}
return howmany;
}
function q3() {
var theForm = document.forms["contact-form"];
var quantity = theForm.elements["q3"];
var howmany = 0;
if (quantity.value != "") {
howmany = parseInt(quantity.value);
}
return howmany;
}
は、今私は()この GetQuantityのように変更数量フィールドから値を取得するために使用されます。例えばq_A01 .. GetPrice()は、読み取り専用値のPriceフィールドを取得するために使用されます。例えばp_A01 .. calculateTotal()はtotalpriceを計算し、フィールドID "Total"に戻ります。
function GetQuantity(e) {
var theForm = document.forms["contact-form"];
var quantity = theForm.elements[e];
var howmany =0;
if(quantity.value!=0) {
howmany = parseInt(quantity.value); }
return howmany;
}
function GetPrice(e) {
var theForm = document.forms["contact-form"];
var price = theForm.elements[e];
var howmany =0;
if(price.value!=0) {
howmany = parseInt(price.value); }
return howmany;
}
function calculateTotal()
{
var cakePrice =
GetPrice(p_A01)*GetQuantity(q_A01)+
GetPrice(p_A02)*GetQuantity(q_A02)+
GetPrice(p_A03)*GetQuantity(q_A03)+
GetPrice(p_F11)*GetQuantity(q_F11);
var Totalordered = document.getElementById ("Total");
Totalordered.value = cakePrice;
}
あなたは確かに、それらがすべて同じものを返すように、もっと短く、おそらく 'function fetch(){return 0}'と書くことができますか? – adeneo
1つだけ変更された場合、 'switch'やオブジェクトルックアップテーブルでさえ、より多くのものになります。 – dandavis
私は、あなたの関数が 'return quantity.length'を返さなければならないと思います。' howmany'ではなく – RomanPerekhrest