的test.html
<html>
<head>
<script type='text/javascript'>
function parseTest() {
var elem_1 = document.getElementById('input_1');
var elem_2 = document.getElementById('input_2');
var inp_1 = elem_1.value;
var inp_2 = elem_2.value;
if (inp_1 == "" && inp_2 == "") {
alert("You need to enter integers!!!");
elem_1.focus();
}else if (inp_1 == ""){
alert("You need to enter Integer 1!!!");
elem_1.focus();
}else if (inp_2 == ""){
alert("You need to enter Integer 2!!!");
elem_2.focus();
}else {
if (!parseInt(inp_1) || !parseInt(inp_2)) alert ("Enter Integers only!!!");
else alert("Correct Inputs!!!");
}
}
</script>
</head>
<body>
<form name="myform">
<input type="text" id="input_1" name="input_1" /><br />
<input type="text" id="input_2" name="input_2" /><br />
<input type="submit" value="Check!" onclick="parseTest();" />
</form>
</body>
</html>
我是新手,所以请耐心等待。请帮忙......
答案 0 :(得分:4)
此代码执行此操作 - 但是,之后,它会提交表单并重新显示页面,这就是您没有看到焦点发生的原因。
只需在return false;
中为您的函数调用添加onclick
,就像这样:
<input type="submit" value="Check!" onclick="parseTest(); return false;" />
答案 1 :(得分:1)
事实上,您不想在每次点击按钮后提交
你可以用另一种方式做到:
1.如果您只想检查输入,而不需要表单:使用“按钮”输入类型
<input type="button" value="Check!" onclick="parseTest();" />
2。如果你想要提交,如果一切正确:像这样使用:
<html>
<head>
<script type='text/javascript'>
function parseTest() {
var elem_1 = document.getElementById('input_1');
var elem_2 = document.getElementById('input_2');
var inp_1 = elem_1.value;
var inp_2 = elem_2.value;
if (inp_1 == "" && inp_2 == "") {
alert("You need to enter integers!!!");
elem_1.focus();
}else if (inp_1 == ""){
alert("You need to enter Integer 1!!!");
elem_1.focus();
}else if (inp_2 == ""){
alert("You need to enter Integer 2!!!");
elem_2.focus();
}else {
if (!parseInt(inp_1) || !parseInt(inp_2)) alert ("Enter Integers only!!!");
else
{
alert("Correct Inputs!!!");
return true;
}
}
return false;
}
</script>
</head>
<body>
<form name="myform">
<input type="text" id="input_1" name="input_1" /><br />
<input type="text" id="input_2" name="input_2" /><br />
<input type="submit" value="Check!" onclick="return parseTest();" />
</form>
</body>
</html>