如何将输入html数据作为变量传递给javascript函数并获得响应
我的问题:我无法将html中的输入数据作为变量传递给js函数并获得相应的响应 我的目标:当用户点击提交按钮时,他会收到js函数提供的任何响应 我在同一目录中有两个文件: -index.html -index.js index.js内容:如何将输入html数据作为变量传递给javascript函数并获得响应,javascript,html,Javascript,Html,我的问题:我无法将html中的输入数据作为变量传递给js函数并获得相应的响应 我的目标:当用户点击提交按钮时,他会收到js函数提供的任何响应 我在同一目录中有两个文件: -index.html -index.js index.js内容: function quEq(a, b, c) { var delta = (b ** 2) - (4 * a * c); if (a == 0) { return "Not a quadratic equation"; }; if (delta &l
function quEq(a, b, c) {
var delta = (b ** 2) - (4 * a * c);
if (a == 0) {
return "Not a quadratic equation";
};
if (delta < 0) {
return "Complex root! No solution in real numbers";
} else {
var first= (-b + Math.sqrt(delta)) / (2*a);
var second= (-b - Math.sqrt(delta)) / (2*a);
return {first, second};
};
};
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="index.js"></script>
<title>Quadratic Equation</title>
</head>
<body>
<div class="container">
<div class="row justify-content-center">
<div class="bg-red-400">
<div class="">
<form>
<div class="form-group">
<label>Enter 'a' value</label>
<input type="number" class="form-control" id="a" placeholder="1">
<label>Enter 'b' value</label>
<input type="number" class="form-control" id="b" placeholder="5">
<label>Enter 'c' value</label>
<input type="number" class="form-control" id="c" placeholder="6">
<button onclick="quEq(document.getElementById('a').nodeValue, document.getElementById('b').value, document.getElementById('c').value)" type="submit" class="btn btn-primary">Submit</button>
</div>
<div class="form-group">
</form>
</div>
</div>
</div>
</div>
</body>
</html>
功能查询(a、b、c){
变量δ=(b**2)-(4*a*c);
如果(a==0){
返回“不是二次方程”;
};
if(δ<0){
返回“复数根!没有实数解”;
}否则{
var first=(-b+数学sqrt(δ))/(2*a);
第二个变量=(-b-数学sqrt(delta))/(2*a);
返回{first,second};
};
};
index.html内容:
function quEq(a, b, c) {
var delta = (b ** 2) - (4 * a * c);
if (a == 0) {
return "Not a quadratic equation";
};
if (delta < 0) {
return "Complex root! No solution in real numbers";
} else {
var first= (-b + Math.sqrt(delta)) / (2*a);
var second= (-b - Math.sqrt(delta)) / (2*a);
return {first, second};
};
};
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="index.js"></script>
<title>Quadratic Equation</title>
</head>
<body>
<div class="container">
<div class="row justify-content-center">
<div class="bg-red-400">
<div class="">
<form>
<div class="form-group">
<label>Enter 'a' value</label>
<input type="number" class="form-control" id="a" placeholder="1">
<label>Enter 'b' value</label>
<input type="number" class="form-control" id="b" placeholder="5">
<label>Enter 'c' value</label>
<input type="number" class="form-control" id="c" placeholder="6">
<button onclick="quEq(document.getElementById('a').nodeValue, document.getElementById('b').value, document.getElementById('c').value)" type="submit" class="btn btn-primary">Submit</button>
</div>
<div class="form-group">
</form>
</div>
</div>
</div>
</div>
</body>
</html>
二次方程
输入“a”值
输入“b”值
输入“c”值
提交
感谢您的帮助我希望我没有违反任何规则您的onclick事件处理程序应该成功地处理click事件,但不清楚您希望如何处理函数的返回值。默认情况下,浏览器不会执行任何操作。相反,你需要自己来管理 例如,您可以将结果写入DOM的其他部分 在HTML中,您可以创建一些节点来保存输出:
<div id="result-1" />
<div id="result-2" />
onclick事件处理程序应该成功地处理click事件,但不清楚要对函数的返回值执行什么操作。默认情况下,浏览器不会执行任何操作。相反,你需要自己来管理 例如,您可以将结果写入DOM的其他部分 在HTML中,您可以创建一些节点来保存输出:
<div id="result-1" />
<div id="result-2" />
您有各种HTML和JavaScript语法错误 请参见下面代码中的注释:
//获取要使用的DOM元素的引用
var btn=document.querySelector(“按钮”);
var a=document.getElementById('a');
var b=document.getElementById('b');
var c=document.getElementById('c');
//在JavaScript中进行事件绑定,而不是使用内联HTML属性
btn.addEventListener(“单击”,函数(){
//使用“值”,而不是“节点值”
quEq(a值、b值、c值);
});
功能查询(a、b、c){
//小心语法!
变量δ=(b*2)-(4*a*c);
如果(a==0){
//return没有出现在任何地方
警惕(“不是二次方程”);
}else if(delta<0){
警报(“复数根!没有实数解”);
}否则{
var first=(-b+数学sqrt(δ))/(2*a);
第二个变量=(-b-数学sqrt(delta))/(2*a);
警报(第一次+第二次);
}
}
二次方程
输入“a”值
输入“b”值
输入“c”值
提交
您有各种HTML和JavaScript语法错误
请参见下面代码中的注释:
//获取要使用的DOM元素的引用
var btn=document.querySelector(“按钮”);
var a=document.getElementById('a');
var b=document.getElementById('b');
var c=document.getElementById('c');
//在JavaScript中进行事件绑定,而不是使用内联HTML属性
btn.addEventListener(“单击”,函数(){
//使用“值”,而不是“节点值”
quEq(a值、b值、c值);
});
功能查询(a、b、c){
//小心语法!
变量δ=(b*2)-(4*a*c);
如果(a==0){
//return没有出现在任何地方
警惕(“不是二次方程”);
}else if(delta<0){
警报(“复数根!没有实数解”);
}否则{
var first=(-b+数学sqrt(δ))/(2*a);
第二个变量=(-b-数学sqrt(delta))/(2*a);
警报(第一次+第二次);
}
}
二次方程
输入“a”值
输入“b”值
输入“c”值
提交
我发现这段代码有两个缺陷
(一)
而不是
document.getElementById('a').value
2) 您应该知道占位符只是一个文本,看起来很奇怪,您可以看到6,但还没有数字,所以如果您想要一些默认数字,可以直接设置值属性,而不是占位符
<input type="number" class="form-control" id="a" value="1">
我发现这段代码有两个缺陷 (一) 而不是
document.getElementById('a').value
2) 您应该知道占位符只是一个文本,看起来很奇怪,您可以看到6,但还没有数字,所以如果您想要一些默认数字,可以直接设置值属性,而不是占位符
<input type="number" class="form-control" id="a" value="1">
现在它可以工作了
a:
b:
c:
提交
功能查询(a、b、c){
变量δ=(b**2)-(4*a*c);
如果(a==0){
警惕(“不是二次方程”);
};
if(δ<0){
警报(“复杂的根!不是这样