Javascript 焦点事件在HTML表单中不起作用
我的HTML代码是Javascript 焦点事件在HTML表单中不起作用,javascript,jquery,html,Javascript,Jquery,Html,我的HTML代码是 <body> <form name="contactus" id='contactus' action="test1.php" method="post" enctype="multipart/form-data"> <input type="hidden" value="2" name="Tab" id="Tab"> <div class="row underlinDv">
<body>
<form name="contactus" id='contactus' action="test1.php" method="post" enctype="multipart/form-data">
<input type="hidden" value="2" name="Tab" id="Tab">
<div class="row underlinDv">
<div class="col-sm-4">
Your Email :
</div>
<div class="col-sm-8">
<input maxlength="100" type="email" class="form-control" placeholder="Enter Email" name="UEmailLogin" id="UEmailLogin" minlength="3">
</div>
</div>
<!--18-->
<div class="row underlinDv">
<div class="col-sm-8 col-md-offset-4">
<input type="submit" id="demo2GetTags" class="btn btn-primary btn-md" value="Submit" onclick='search()' />
</div>
</div>
</form>
<script>
function search() {
var Tab = document.getElementById("Tab").value;
alert(Tab);
var Eamillogin = document.getElementById("UEmailLogin").value;
if (Eamillogin == "") {
alert("please enter email");
Eamillogin.focus();
}
}
</script>
</body>
您的电子邮件:
函数搜索(){
var Tab=document.getElementById(“Tab”).value;
警报(选项卡);
var Eamillogin=document.getElementById(“UEmailLogin”).value;
如果(Eamillogin==“”){
提醒(“请输入电子邮件”);
焦点();
}
}
当我点击提交按钮时,JavaScript警报显示“请输入电子邮件”。它很好用。但是
Eamillogin.focus()代码>不工作。显示警报后,表单会自动指向test1.php页面。指针不会聚焦于电子邮件。如何更正它?Eamillogin
变量包含#UEmailLogin
元素的值
要在元素上设置焦点,请使用element.focus()代码>
这是最新的代码
var Eamillogin = document.getElementById("UEmailLogin"); // Removed .value from here
if (Eamillogin.value === "") { // Added .value here
alert("please enter email");
Eamillogin.focus(); // Focus element
}
函数搜索(){
var Tab=document.getElementById(“Tab”).value;
var Eamillogin=document.getElementById(“UEmailLogin”);
如果(Eamillogin.value==“”){
提醒(“请输入电子邮件”);
焦点();
}
}
您的电子邮件:
当我移除它时,工作正常。但当我使用表单元素时,指针并没有在表单上传递,而是重定向到test1.phppage@Nidhi要取消对无效表单值的表单提交,请在提交按钮的onsubmit
或onclick
上使用return search()
,并添加return false处理程序中的代码>,以停止表单提交。看看Tushar回答了什么+不要使用警报进行调试,这会打乱对焦顺序。您可以改用console.log
。此外,如果不想提交表单,则必须取消提交,表单将作为服务器响应重新加载页面。