Javascript:检查表单时是否显示警报?
我创建了一个简单的web应用程序,它有两个表单选择,当用户从每个表单中进行选择时,我希望显示一个Javascript:检查表单时是否显示警报?,javascript,html,alert,Javascript,Html,Alert,我创建了一个简单的web应用程序,它有两个表单选择,当用户从每个表单中进行选择时,我希望显示一个警报,显示他们所做的选择 我在下面尝试过这一点,但当两种形式都被选中时,警报不会显示。我错过了什么?注:见评论: //BELOW IS NOT BEING DISPLAYED BUT SHOULD BE 当前代码: <!DOCTYPE html> <html> <body> <h1>Calculator</h1> <p>S
警报
,显示他们所做的选择
我在下面尝试过这一点,但当两种形式都被选中时,警报不会显示。我错过了什么?注:见评论:
//BELOW IS NOT BEING DISPLAYED BUT SHOULD BE
当前代码:
<!DOCTYPE html>
<html>
<body>
<h1>Calculator</h1>
<p>Select the importance of this:</p>
<form method="get">
<input type="checkbox" name="Severity" value="negligible"> Negligible<br>
<input type="checkbox" name="Severity" value="minor"> Minor<br>
</form>
<p>Select the Probability of this:</p>
<form method="get">
<input type="checkbox" name="Probability" value="improbable"> Improbable<br>
<input type="checkbox" name="Probability" value="remote"> Remote<br>
<input type="checkbox" name="Probability" value="occasional"> Occasional<br>
<button onclick= "analyseThis()"> Analyse this </button> <br>
<script>
function analyseThis(){
var severities = document.getElementsByName('Severity');
var probs = document.getElementsByName('Probability');
var severity = undefined;
for(var i = 0; i < ages.length; i++)
{
if(severities[i].checked)
{
age = severities[i].value;
}
}
var probability = undefined;
for(var i = 0; i < probs.length; i++)
{
if(probs[i].checked)
{
probability = probs[i].value;
}
}
//BELOW IS NOT BEING DISPLAYED BUT SHOULD BE
alert("Severity is: " + age + "Probability is: " + probability);
}
</script>
</body>
</html>
计算器
选择此项的重要性:
可忽略不计
小调
选择以下概率:
不可能的
远程
偶尔的
对此进行分析
函数分析器this(){
var severities=document.getElementsByName(“严重性”);
var probs=document.getElementsByName(“概率”);
var严重性=未定义;
对于(变量i=0;i
我将使用JQuery并使用按钮的单击功能提交
以下是一个例子:
$(document).ready(function () {
$("{form id/class button id/class OR button id/class}").click(function(e) {
e.preventDefault();
//perform validation
//if everything is good...
$("{form id/class}").submit();
});
});
您的代码中有一个错误-您正在检查循环中的
ages.length
,该循环在第一个循环中可能未定义(代码中没有ages
变量),您的代码执行应该在那里停止
在此处使用JSBin代码:
您的代码中有一个bug。
for(var i = 0; i < ages.length; i++)
{
if(severities[i].checked)
{
age = severities[i].value;
}
}
for(变量i=0;i
代码中尚未定义“ages”,也未定义“age”。这将引发一个错误,阻止代码运行。这就是为什么警报没有发出
声明ages数组。发生了一些有趣的事情:
event
对象从onclick
hander传递给您的AnalyzeSthis()函数:
<button onclick= "analyseThis(event)"> Analyse this </button>
ReferenceError: ages is not defined (line 33, col 17)
for(var i = 0; i < ages.length; i++)
ReferenceError:未定义年龄(第33行,第17列)
对于(变量i=0;i
如果您确实希望提交表单,请记住在调试代码后删除
e.preventDefault()
调用。您可以使用JQuery验证表单并提交。谢谢,我已修复此错误(现在参考更正数组)但警报框仍不显示浏览器控制台中是否显示任何其他错误(您可以按F12键打开控制台)?
ReferenceError: ages is not defined (line 33, col 17)
for(var i = 0; i < ages.length; i++)