gpt4 book ai didi

javascript - 无法将变量移至要使用的函数之外

转载 作者:行者123 更新时间:2023-11-28 17:38:26 26 4
gpt4 key购买 nike

我真的很苦恼这个问题。我创建了一个表格,根据帐篷里有多少人以及他们是否通过信用卡付款来计算该人所欠的金额。金额根据选择而更新。当用户提交时,他们应该被重定向到 PayPal,总金额位于网址末尾,即:

PayPal.me/240 售价 240 英镑,PayPal.me/600 售价 600 英镑

问题是我的价格变量位于设置重定向的其他函数之外,并且价格金额永远不会到达重定向。

这是我尝试过的:

HTML:

    <select name='field_0' id='field_0' class='text_select' onchange="pricecalc()"   >  
<option value="2 people" >2 people</option>
<option value="3 people" >3 people</option>
<option value="4 people" >4 people</option>
<option value="5 people" >5 people</option>
<option value="6 people" >6 people</option>
</select>

<select name='field_1' id='field_1' class='text_select' onchange="pricecalc()" >
<option value="Bank transfer" >Bank transfer</option>
<option value="Debit card" >Debit card</option>
<option value="Credit card + 3.4%" >Credit card + 3.4%</option>
</select>
<b>Total Price</b>
<span id="cost">Hello World!</span>
<b>Price Each</b>
<span id="costeach">Hello World!</span>

相关JS:

var myprice;
function pricecalc() {
var a = document.getElementById("field_0");
var quantity = a.value.substring(0, 1);
var b = document.getElementById("field_1");
var type = b.value;

if (quantity == '2') {
var rate = '120';
} else if (quantity == '3') {
var rate = '110';
} else {
var rate = '100';
}

myprice = rate * quantity;
if (type == 'Credit card + 3.4%') {
myprice = myprice * 1.034;
}

var price_each = (myprice / quantity);
document.getElementById("cost").innerHTML = myprice;
document.getElementById("costeach").innerHTML = price_each;
}

function PHPFMG( formID ){
var redirect = 'https://www.paypal.me/tim/' + myprice;

最佳答案

我建议这样做

function pricecalc() {
var myprice;
var a = document.getElementById("field_0");
var quantity = a.value.substring(0, 1);
var b = document.getElementById("field_1");
var type = b.value;

if (quantity == '2') {
var rate = '120';
} else if (quantity == '3') {
var rate = '110';
} else {
var rate = '100';
}

myprice = rate * quantity;
if (type == 'Credit card + 3.4%') {
myprice = myprice * 1.034;
}

var price_each = (myprice / quantity);
document.getElementById("cost").innerHTML = myprice;
document.getElementById("costeach").innerHTML = price_each;

return myprice;
}

然后

function PHPFMG( formID ){
var myprice = pricecalc();
var redirect = 'https://www.paypal.me/tim/' + myprice;
}

这样就不会污染全局范围

关于javascript - 无法将变量移至要使用的函数之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48558220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com