使用表单为Javascript函数收集数据?
我试图通过一个页面上的表单收集数据,然后将数据传输到下一个页面,以便在JS函数中使用。 (具体地说,我希望用户输入二次方程的A、B和C的值,然后发送到一个页面,脚本获取这些值并运行方程+输出答案) 这里是我第一页的代码--->使用表单为Javascript函数收集数据?,javascript,html,forms,equations,Javascript,Html,Forms,Equations,我试图通过一个页面上的表单收集数据,然后将数据传输到下一个页面,以便在JS函数中使用。 (具体地说,我希望用户输入二次方程的A、B和C的值,然后发送到一个页面,脚本获取这些值并运行方程+输出答案) 这里是我第一页的代码---> 欢迎来到数学方程求解器 你想解哪个方程?(只需输入要求解的方程的数据) JS_数学脚本 函数答案() { var a=a_val 书面文件(a_val) var b=b_val var c=c_val 变量根=数学功率(b,2)-4*a*c var answer1=(
欢迎来到数学方程求解器
你想解哪个方程?(只需输入要求解的方程的数据)
JS_数学脚本
函数答案()
{
var a=a_val
书面文件(a_val)
var b=b_val
var c=c_val
变量根=数学功率(b,2)-4*a*c
var answer1=(-b+数学sqrt(根))/2*a
var answer2=(-b-Math.sqrt(根))/2*a
如果(根)
总之,当我输入A、B和C的值时,我会进入第二页,但我没有得到结果。我尝试了inspect元素,控制台没有指示任何错误,因此我认为我的数据传输正确。有什么想法吗?您可以使用FormData()
从
中的
元素中检索值;使用JSON.stringify()
,encodeURIComponent()
将值作为查询字符串从表单
传递到JS_B.html
在窗口加载事件JS_B.html
,使用decodeURIComponent()
,JSON.parse()
在位置检索对象。搜索;使用传递的对象在answer
函数中解构赋值以设置变量
包括;
以下变量赋值,删除;
以下如果条件
index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1> Welcome to the Math Equation Solver </h1>
<p> Which equation would you like to solve? (Simply input the data for the equation you wish to solve). </p>
<form name="quad">
<input type="text" name="a_val" size="5">
<br>
<input type="text" name="b_val" size="5">
<br>
<input type="text" name="c_val" size="5">
<br>
<input type="submit" value="Submit">
<!--
<input type="hidden" name="a_val">
<input type="hidden" name="b_val">
<input type="hidden" name="c_val">
-->
</form>
<script>
var form = document.querySelector("form");
form.onsubmit = function(e) {
e.preventDefault();
var data = new FormData(this);
var obj = {};
for (prop of data.entries()) {
obj[prop[0]] = prop[1]
};
var query = encodeURIComponent(JSON.stringify(obj));
location.href = "JS_B.html?" + query;
}
</script>
</body>
</html>
欢迎来到数学方程求解器
你想解哪个方程?(只需输入你想解的方程的数据)
var form=document.querySelector(“表单”);
form.onsubmit=函数(e){
e、 预防默认值();
var数据=新的FormData(本);
var obj={};
for(数据项的属性()){
obj[prop[0]]=prop[1]
};
var query=encodeURIComponent(JSON.stringify(obj));
location.href=“JS_B.html?”+查询;
}
JS_B.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function answer(obj) {
var {
a_val: a,
b_val: b,
c_val: c
} = obj;
document.writeln(a);
var root = Math.pow(b, 2) - 4 * a * c;
var answer1 = (-b + Math.sqrt(root)) / 2 * a;
var answer2 = (-b - Math.sqrt(root)) / 2 * a;
if (root < 0) {
alert('This equation has no real solution.')
} else {
if (root == 0) {
answerOne = answer1;
document.writeln(answerOne);
answerTwo = 'No Second Answer'
} else {
answerOne = answer1;
document.writeln(answerOne);
answerTwo = answer2;
document.writeln(answerTwo)
}
}
} // End -->
window.onload = function() {
var obj = JSON.parse(decodeURIComponent(location.search.slice(1)));
console.log(obj);
answer(obj);
}
</script>
<input type="hidden" name="a_val">
<input type="hidden" name="b_val">
<input type="hidden" name="c_val">
<input type="hidden" name="answerOne">
<input type="hidden" name="answerTwo">
<input type="hidden" name="Answer">
</body>
</html>
功能应答(obj){
变量{
a_val:a,
b_val:b,
c_val:c
}=obj;
书面文件(a);
var root=Math.pow(b,2)-4*a*c;
var answer1=(-b+数学sqrt(根))/2*a;
var answer2=(-b-数学sqrt(根))/2*a;
if(根<0){
警报('此等式没有实际解')
}否则{
如果(根==0){
answerOne=answer1;
书面文件(答复);
答案二=‘没有第二个答案’
}否则{
answerOne=answer1;
书面文件(答复);
answerTwo=answer2;
书面文件(答复二)
}
}
}//结束-->
window.onload=函数(){
var obj=JSON.parse(decodeURIComponent(location.search.slice(1));
控制台日志(obj);
答案(obj);
}
plnkr您可以使用FormData()
从
中的
元素中检索值;使用JSON.stringify()
,encodeURIComponent()
将值作为查询字符串从form
传递到JS_B.html
在窗口加载事件JS_B.html
,使用decodeURIComponent()
,JSON.parse()
在位置检索对象。搜索;使用传递的对象在answer
函数中解构赋值以设置变量
包括;
以下变量赋值,删除;
以下如果条件
index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1> Welcome to the Math Equation Solver </h1>
<p> Which equation would you like to solve? (Simply input the data for the equation you wish to solve). </p>
<form name="quad">
<input type="text" name="a_val" size="5">
<br>
<input type="text" name="b_val" size="5">
<br>
<input type="text" name="c_val" size="5">
<br>
<input type="submit" value="Submit">
<!--
<input type="hidden" name="a_val">
<input type="hidden" name="b_val">
<input type="hidden" name="c_val">
-->
</form>
<script>
var form = document.querySelector("form");
form.onsubmit = function(e) {
e.preventDefault();
var data = new FormData(this);
var obj = {};
for (prop of data.entries()) {
obj[prop[0]] = prop[1]
};
var query = encodeURIComponent(JSON.stringify(obj));
location.href = "JS_B.html?" + query;
}
</script>
</body>
</html>
欢迎来到数学方程求解器
你想解哪个方程?(只需输入你想解的方程的数据)
var form=document.querySelector(“表单”);
form.onsubmit=函数(e){
e、 预防默认值();
var数据=新的FormData(本);
var obj={};
for(数据项的属性()){
obj[prop[0]]=prop[1]
};
var query=encodeURIComponent(JSON.stringify(obj));
location.href=“JS_B.html?”+查询;
}
JS_B.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function answer(obj) {
var {
a_val: a,
b_val: b,
c_val: c
} = obj;
document.writeln(a);
var root = Math.pow(b, 2) - 4 * a * c;
var answer1 = (-b + Math.sqrt(root)) / 2 * a;
var answer2 = (-b - Math.sqrt(root)) / 2 * a;
if (root < 0) {
alert('This equation has no real solution.')
} else {
if (root == 0) {
answerOne = answer1;
document.writeln(answerOne);
answerTwo = 'No Second Answer'
} else {
answerOne = answer1;
document.writeln(answerOne);
answerTwo = answer2;
document.writeln(answerTwo)
}
}
} // End -->
window.onload = function() {
var obj = JSON.parse(decodeURIComponent(location.search.slice(1)));
console.log(obj);
answer(obj);
}
</script>
<input type="hidden" name="a_val">
<input type="hidden" name="b_val">
<input type="hidden" name="c_val">
<input type="hidden" name="answerOne">
<input type="hidden" name="answerTwo">
<input type="hidden" name="Answer">
</body>
</html>
功能应答(obj){
变量{
a_val:a,
b_val:b,
c_val:c
}=obj;
书面文件(a);
var root=Math.pow(b,2)-4*a*c;
var answer1=(-b+数学sqrt(根))/2*a;
var answer2=(-b-数学sqrt(根))/2*a;
if(根<0){
警报('此等式没有实际解')
}否则{
如果(根==0){
answerOne=answer1;
书面文件(答复);
答案二=‘没有第二个答案’
}否则{
answerOne=answer1;
书面文件(答复);
answerTwo=answer2;
书面文件(答复二)
}
}
}//结束-->
window.onload=函数(){
var obj=JSON.parse(decodeURIComponent(location.search.slice(1));
控制台日志(obj);
答案(obj);
}
plnkrvar answer1=(-b+Math.sqrt(root))/2*a;
,var answer2=(-b-Math.sqrt(root))/2*a的预期结果可能重复var answer1=(-b+Math.sqrt(root))/2*a;
,var answer2=(-b-Math.sqrt(root))/2*a的预期结果可能重复