Как сфокусировать html текстовое поле используя javascript?
Привет, ребята, кто-нибудь может сказать мне, как сфокусировать текстовое поле HTML с помощью JavaScript? Я новичок в программировании и только начинаю учиться. У меня есть здесь код, в котором я хочу установить курсор в текстовом поле.
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>
Я новичок, поэтому будьте терпеливы. Пожалуйста, помогите...
2 ответа
Этот код делает это - однако, сразу после этого, он отправляет форму и отображает страницу заново, поэтому вы не видите, что фокус происходит.
Просто добавьте return false;
к вашему вызову функции в onclick
, вот так:
<input type="submit" value="Check!" onclick="parseTest(); return false;" />
На самом деле, вы не хотите отправлять после каждого нажатия кнопки.
Вы можете сделать это по-другому:
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>