Javascript,输出结果后页面保持刷新

Javascript,输出结果后页面保持刷新,javascript,html,css,forms,Javascript,Html,Css,Forms,我有个小问题 我正在学习Javascript,我决定制作一个货币转换器,但在显示数据后,我的页面会不断刷新 有人能帮我弄清楚为什么会这样吗?谢谢 网站: *{字体大小:13px;字体系列:arial;背景色:黑色;颜色:白色;填充:0;边距:0;} #包装{宽度:640px;边距:0px自动;} 输入{颜色:石灰;宽度:150px;高度:22px;} #货币转换,标签:第n个子(3){位置:相对;顶部:100px;右侧:95px;} #我的货币{宽度:53px;高度:22px;位置:相对;顶部

我有个小问题

我正在学习Javascript,我决定制作一个货币转换器,但在显示数据后,我的页面会不断刷新

有人能帮我弄清楚为什么会这样吗?谢谢

网站:


*{字体大小:13px;字体系列:arial;背景色:黑色;颜色:白色;填充:0;边距:0;}
#包装{宽度:640px;边距:0px自动;}
输入{颜色:石灰;宽度:150px;高度:22px;}
#货币转换,标签:第n个子(3){位置:相对;顶部:100px;右侧:95px;}
#我的货币{宽度:53px;高度:22px;位置:相对;顶部:100px;左侧:232px;}
#转换的_输入,标签:第n个子(5){位置:相对;顶部:134px;右侧:298px;}
#转换货币{宽度:53px;高度:22px;位置:相对;顶部:134px;左侧:175px;}
#提交按钮{宽度:52px;高度:25px;位置:相对;顶部:117px;右侧:230px;}
函数输出_值(){
var my_input=Number(document.getElementsByName(“用户输入”)[0].value);
var my_输出;
var my_currency=document.conversions.currency_to_convert.value;
var convert_to=document.convertions.convert_currency_to.value;
如果(我的货币=“美元”){
如果(将_转换为==“CAD”){
my_输出=my_输入*0.975;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则,如果(将欧元换算为=“欧元”){
my_输出=my_输入*0.775;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“GBP”){
my_输出=my_输入*0.620;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“AUD”){
my_输出=my_输入*0.956;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则{
警告(“您不能转换相同的货币。”);
}
}否则如果(我的货币==“CAD”){
如果(将单位换算为=“美元”){
my_输出=my_输入*1.025;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则,如果(将欧元换算为=“欧元”){
my_输出=my_输入*0.795;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“GBP”){
my_输出=my_输入*0.636;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“AUD”){
my_输出=my_输入*0.980;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则{
警告(“您不能转换相同的货币。”);
}
}否则,如果(我的欧元=“欧元”){
如果(将单位换算为=“美元”){
my_输出=my_输入*1.289;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“CAD”){
my_输出=my_输入*1.257;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“GBP”){
my_输出=my_输入*0.800;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“AUD”){
my_输出=my_输入*1.233;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则{
警告(“您不能转换相同的货币。”);
}
}否则,如果(我的欧元==“英镑”){
如果(将单位换算为=“美元”){
my_输出=my_输入*1.610;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则,如果(将欧元换算为=“欧元”){
my_输出=my_输入*1.249;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“CAD”){
my_输出=my_输入*1.571;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“AUD”){
my_输出=my_输入*1.541;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则{
警告(“您不能转换相同的货币。”);
}
}否则,如果(我的货币==“澳元”){
如果(将单位换算为=“美元”){
my_输出=my_输入*1.045;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则,如果(将欧元换算为=“欧元”){
my_输出=my_输入*0.810;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“GBP”){
my_output=my_input*0.648;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}else if(将_转换为==“CAD”){
my_输出=my_输入*1.019;
document.getElementsByName(“转换输出”)[0]。value=my\u输出;
}否则{
警告(“您不能转换相同的货币。”);
}
}否则{
警报(“致命错误,刷新页面”);
}
}
美元
计算机辅助设计
欧元
英镑
澳元
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <style type="text/css">
        * {font-size:13px;font-family:arial;background-color:black;color:white;padding:0;margin:0;}
        #wrapper {width:640px;margin:0px auto;}

        input {color:lime;width:150px;height:22px;}
        #money_to_convert, label:nth-child(3) {position:relative;top:100px;right:95px;}
        #my_currency {width:53px;height:22px;position:relative;top:100px;left:232px;}
        #converted_input, label:nth-child(5) {position:relative;top:134px;right:298px;}
        #convert_currency {width:53px;height:22px;position:relative;top:134px;left:175px;}
        #submit_button {width:52px;height:25px;position:relative;top:117px;right:230px;}
    </style>
    <script type="text/javascript">
        function output_value() {
            var my_input = Number(document.getElementsByName("user_input")[0].value);
            var my_output;
            var my_currency = document.convertions.currency_to_convert.value;
            var convert_to = document.convertions.convert_currency_to.value;


            if(my_currency == "USD"){
                if(convert_to == "CAD"){
                    my_output = my_input * 0.975;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "EUR"){
                    my_output = my_input * 0.775;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "GBP"){
                    my_output = my_input * 0.620;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "AUD"){
                    my_output = my_input * 0.956;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else{
                    alert("You can't convert the same currency.");
                }
            }else if(my_currency == "CAD"){
                if(convert_to == "USD"){
                    my_output = my_input * 1.025;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "EUR"){
                    my_output = my_input * 0.795;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "GBP"){
                    my_output = my_input *  0.636;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "AUD"){
                    my_output = my_input *  0.980;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else{
                    alert("You can't convert the same currency.");
                }
            }else if(my_currency == "EUR"){
                if(convert_to == "USD"){
                    my_output = my_input * 1.289;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "CAD"){
                    my_output = my_input * 1.257;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "GBP"){
                    my_output = my_input * 0.800;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "AUD"){
                    my_output = my_input * 1.233;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else{
                    alert("You can't convert the same currency.");
                }
            }else if(my_currency == "GBP"){
                if(convert_to == "USD"){
                    my_output = my_input * 1.610;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "EUR"){
                    my_output = my_input * 1.249;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "CAD"){
                    my_output = my_input * 1.571;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "AUD"){
                    my_output = my_input * 1.541;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else{
                    alert("You can't convert the same currency.");
                }
            }else if(my_currency == "AUD"){
                if(convert_to == "USD"){
                    my_output = my_input * 1.045; 
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "EUR"){
                    my_output = my_input * 0.810;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "GBP"){
                    my_output = my_input * 0.648;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else if(convert_to == "CAD"){
                    my_output = my_input * 1.019;
                    document.getElementsByName("convertion_output")[0].value = my_output;
                }else{
                    alert("You can't convert the same currency.");
                }
            }else{
                alert("Fatal Error, refresh the page.");
            }
        }
    </script>
</head>

<body>
    <div id="wrapper">
        <form name="convertions">
            <select name="currency_to_convert" id="my_currency">
                <option value="USD" selected>USD</option>
                <option value="CAD">CAD</option>
                <option value="EUR">EUR</option>
                <option value="GBP">GBP</option>
                <option value="AUD">AUD</option>
            </select>
            <select name="convert_currency_to" id="convert_currency">
                <option value="USD">USD</option>
                <option value="CAD" selected>CAD</option>
                <option value="EUR">EUR</option>
                <option value="GBP">GBP</option>
                <option value="AUD">AUD</option>
            </select>
            <label for="user_input">Amount:</label>
            <input type="text" name="user_input" id="money_to_convert" />
            <label for="convertion_output">Result:</label>
            <input type="text" name="convertion_output" id="converted_input" disabled="disabled" />
            <button onclick="output_value()" id="submit_button">Submit</button>
        </form>     
    </div>
</body>

</html>
<button onclick="output_value()" type="button" id="submit_button">
<button onclick="output_value(); return false" id="submit_button">
<form name="convertions" onsubmit="return output_value(this)">

    ...
    <button>Submit</button>
function output_value(form) {

    // var my_currency = document.convertions.currency_to_convert.value;
    var my_currency = form.currency_to_convert.value;

    // and so on
    ...

    alert("Fatal Error, refresh the page.");
    // reset the form
    form.reset(); 

    // stop the form submitting
    return false;
}    
/* USD to... */
var rates = {
  USD: 1,
  CAD: 0.975,
  EUR: 0.775,
  GBP: 0.620,
  AUD: 0.956
};
function output_value() {
  var my_input = parseFloat(document.getElementsByName("user_input")[0].value);
  var my_currency = document.convertions.currency_to_convert.value;
  var convert_to = document.convertions.convert_currency_to.value;
  var output = document.getElementsByName('convertion_output')[0];

  // side note. "conversion" is spelt with an 's' not a t.
  output.value = my_input / rates[my_currency] * rates[convert_to];
}