你好StackOverflow的人,我在尝试这个问题之前确保通过网站彻底准备好,也鼓起足够的勇气寻求帮助(我喜欢解决我自己的问题,但在这种情况下,我来到了一个难关)。jQuery加载(),加载不正确。我怎样才能解决这个问题?
所以我需要的“帮助”是批评和指导,我不认为我有足够的知识来找到问题。到目前为止,我正在尝试一个从用户接收数据并输出结果的网站,我完成了这个工作,但是当我按下提交时出现问题,它刷新了我不想要的页面。我得出了使用按钮并键入'按钮'以防止它令人耳目一新的结论,太棒了!现在用户可以输入他/她的信息,它会完美地吐出结果。现在,这是问题出现的地方(尽管结果是正确的),但我希望我的网站允许用户选择不同的选项(如果他/她决定的话),所以当我从下拉菜单中选择另一个选项时按下并按下提交,它什么都不做。
这导致我研究这个问题,它导致我有几种可能性,jQuery .load()不会因为本地和web服务器问题而加载?我想把它放在那里,我不使用数据库,这只是一个简单的网站,根据用户的信息吐出结果(我会提供底部的代码片段)。此外,在控制台中我得到这个消息:
BMI_ws.html?age=&weight=&height=:44 Uncaught TypeError: BMR is not a function
at display_gains (bmi_backend.js:27)
at HTMLButtonElement.onclick (BMI_ws.html?age=&weight=&height=:44)
,我发现研发的另一件事是XML的提的是,和AJAX,可以帮助我解决这个问题,但我只是想这成为一个没有数据库的简单网站,如果我可以使用jQuery来正确操纵它,我会很高兴。
HTML代码:
<!DOCTYPE HTML>
<html>
<head>
<title> Simon's BMi Tool</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src = 'jQuery_methods.js'></script>
<link rel = 'stylesheet' href = 'style.css'/>
<script src = 'bmi_backend.js'></script>
</head>
<body>
<div id = 'container'>
<div id = 'header'>
<h1>Simon's BMi Tool</h1>
</div>
<div id = 'introduction' >
<div id='context'>
<h2> Instructions: <h2>
<p> To properly use this to its best potential, you should accurately put in your information so that it can provide you an accurate daily caloric intake. </p>
</div>
</div>
<div id = 'content'>
<div id = 'input'>
<h2> Caloric Calculator <h2>
<form name = 'Values' >
<input id = 'm' type ='radio' name = 'gender' value = 'Male'> Male <br>
<input id = 'f' type ='radio' name = 'gender' value = 'Female'> Female <br>
<br> Age: <br> <input id = 'a' type ='number' name = 'age' min = '10' max = '90' placeholder ='Age #'> <br>
<br> Weight(lbs) <br> <input id = 'w' type ='number' name ='weight' min = '70' max = '250' placeholder ='Weight #'> <br>
<br> Height(inches) <br> <input id = 'h' type ='number' name ='height' min ='36' max = '84' placeholder ='Height #'> <br>
<br> Activity Level: <br> <select id = 'activity'>
<option value ='0'>Basic Metabolic Rate</option>
<option value ='1'>Desk Job</option>
<option value ='2'>Lightly Active</option>
<option value ='3'>Moderately Active</option>
<option value ='4'>Active</option>
<option value ='5'>Extremely Active</option>
</select>
<button type = 'button' onclick ="display_gains()"> submit </button>
</form>
</div>
<div id= 'placeholder'>
<p>Maintenence: </p><p id = 'maint_daily'>0</p>
<p>Lose .5 per week: </p> <p id = 'lose_half'>0</p>
<p>Lose 1 per week: </p> <p id = 'lose_one'>0</p>
<p>Gain .5 per week: </p> <p id = 'gain_half'>0</p>
<p>Gain 1 per week: </p><p id ='gain_one'>0</p>
</div>
</div>
<div id = 'footer'>
Copyright © 2017 Simon Liu
</div>
</div>
</body>
</html>
的JavaScript:
var age;
var height;
var weight;
var activity;
var BMR;
var selection;
function BMR()
{
if(document.getElementById('m').checked)
{
age = document.getElementById('a').value;
height = document.getElementById('h').value;
weight = document.getElementById('w').value;
BMR = male_bmr(age, height, weight);
} else
{
age = document.getElementById('a').value;
height = document.getElementById('h').value;
weight = document.getElementById('w').value;
BMR = female_bmr(age, height, weight);
}
return BMR;
}
function display_gains(){
var value = BMR();
var option = document.getElementById('activity');
var text = option.options[option.selectedIndex].text;
if (text === 'Basic Metabolic Rate')
{
return document.getElementById('maint_daily').innerHTML = value.toFixed(0);
}
else if (text === 'Desk Job')
{
document.getElementById('maint_daily').innerHTML = (value*1.2).toFixed(0);
document.getElementById('lose_half').innerHTML = (one(value) - 250).toFixed(0);
document.getElementById('lose_one').innerHTML = (one(value) - 500).toFixed(0);
document.getElementById('gain_half').innerHTML = (one(value) + 250).toFixed(0);
document.getElementById('gain_one').innerHTML = (one(value) + 500).toFixed(0);
}
}
function male_bmr(a, h, w){
return(66.47 + (13.75 * (kg(w))) + (5 * (cm(h))) - (6.75 * a));
}
function female_bmr(a, h, w){
var fbmr = 665.09 + (9.56 * (kg(w))) + (1.84 * (cm(h))) - (4.67 * a);
return fbmr;
}
function kg(lbs){
var ans = (lbs * .453592);
return ans;
}
function cm(inches)
{
var ans = (inches) * (2.54);
return ans;
}
function one(val)
{
var sample = val;
return sample*1.2;
}
function two(val)
{
return val*1.375;
}
function three(val)
{
return val*1.55;
}
function four(val)
{
return val*1.725;
}
function five(val)
{
return val*1.9;
}
最后是的jquery.js:
$(document).ready(function(){
$("button").click(function(){
$("#placeholder").load("bmi_backend.js");
});
});
这些是我的网站工作的代码,我确实有CSS也是如此,但我认为问题不在于此。如果有人能指导我解决这个问题,或者指导我正确的道路,那么我可以研究它并自己解决它,我将不胜感激!谢谢!
P.S对不起,这是一个可怕的帖子,这是我第一次发布。
第一步通常是查阅文档。你有没有回顾[jQuery.load()](http://api.jquery.com/load/)? –