Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 焦点事件在HTML表单中不起作用_Javascript_Jquery_Html - Fatal编程技术网

Javascript 焦点事件在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">

我的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">
            <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
。此外,如果不想提交表单,则必须取消提交,表单将作为服务器响应重新加载页面。