警报返回URL路径,而jquery中的警报变量

时间:2018-09-27 05:35:06

标签: javascript php jquery

<script>
    $(document).ready(function(){
        $("#search-jobs").click(function(e){
            e.preventDefault();
            key = $('#myInput').val();
            location = $('#location').val();
            alert(key);
            alert(location);
        });
    });
</script>
<form autocomplete="off" action="javascript:void(0);" method="post">
<div class="row">
    <input type="text" id="myInput" name="company" placeholder="Job title, keywords or company name">
    <input type="text" id="location" name="location" placeholder="Location">
    <button name="search-jobs" id="search-jobs" type="submit"><i class="la la-search"></i></button>
</div>

在此问题中,我创建了可以正常工作的自动填充功能。现在,我在这里做什么?当我单击search-jobs时,它会警告myInput的值,然后警告url的路径,例如http://localhost/jobportal/index.php,然后在其他页面上重定向我,其他页面的URL像localhost/jobportal/noidanoida是位置。我不知道这是什么问题?请帮助我。

谢谢

4 个答案:

答案 0 :(得分:2)

由于您的变量 location 未在函数内部定义,因此将其悬挂在窗口范围的顶部。因此,您的位置变量实际上是 window.location ,您将为其提供值。一种简单的解决方案是尝试更改变量的名称或使用 let var const 在函数内部定义变量。

答案 1 :(得分:1)

这是因为您没有正确声明变量。

$(document).ready(function(){
    $("#search-jobs").click(function(e){
        e.preventDefault();
        let key = $('#myInput').val();
        let location = $('#location').val();
        alert(key);
        alert(location);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<form autocomplete="off" action="javascript:void(0);" method="post">
    <div class="row">
        <input type="text" id="myInput" name="company" placeholder="Job title, keywords or company name">
        <input type="text" id="location" name="location" placeholder="Location">
        <button name="search-jobs" id="search-jobs" type="submit"><i class="la la-search"></i>test</button>
    </div>
</form>

答案 2 :(得分:1)

let key = $('#myInput').val();
let location = $('#location').val();

答案 3 :(得分:0)

尝试此代码,在这里我还用您在描述中给出的url(例如“ localhost/jobportal/noida”更新了url

   <script>
        $(document).ready(function(){
            $("#search-jobs").click(function(e){
                e.preventDefault();
                key = $('#myInput').val();
                alert(key);
                loc =  location.host;           
                newloc = loc+"/jobportal/"+$('#location').val();
                alert(newloc);
                return false
            });
        });
    </script>
    <form autocomplete="off" action="javascript:void(0);" method="post">
    <div class="row">
        <input type="text" id="myInput" name="company" placeholder="Job title, keywords or company name">    
         <input type="text" id="location" name="location" placeholder="Location">    
        <button name="search-jobs" id="search-jobs"><i class="la la-search"></i></button>
    </div>