在重定向到下一页之前如何验证输入字段

时间:2019-02-02 07:32:19

标签: javascript html

这是我的第一个html代码:

 <form action = "indextable.html" method="GET"  >  
 <p><input name = "ManagerId" class="form-control" id="ManagerId" type 
 ="text" autocomplete="off" onkeyup="alphanumOnly(this)" maxlength="8"  
 placeholder="ManagerId"></input></p>
 <p> <input type="submit" onclick ='return getRepoCount();' 
  value="submit">Submit</body></p>
 </form>      
<script>
 function alphanumOnly(input){
    var regex = /[^a-zA-Z0-9]/gi;
    input.value = input.value.replace(regex, "");
    }
function getRepoCount(){
    var empid = document.getElementById("ManagerId").value;
    alert(empid);
    $.ajax({
    url:'http://localhost:8088/JirasTrackingApp/reporter/
    Reportees/ReporteeList/'+ empid,
    type:'GET',
    dataType: 'json',
    success: function(result){
        alert('hi');
        return true;
    },
    error:function(result){
    alert("Please enter an valid input");
        return false;

    }
   });
 }
</script>

这里我无法进行ajax调用。当我运行程序时,它会显示Empid警报,但是成功和错误的警报不会显示出来,就像它不是在进行ajax调用一样请告诉我我要去哪里错了。

2 个答案:

答案 0 :(得分:0)

尝试使用它。还要确保api返回正确的json。

<script>
function alphanumOnly(input){
 var regex = /[^a-zA-Z0-9]/gi;
input.value = input.value.replace(regex, "");
}
function getRepoCount(){
var empid = document.getElementById("ManagerId").value;
alert(empid);
$.ajax({
url:'http://localhost:8088/JirasTrackingApp/reporter/
Reportees/ReporteeList/'+ empid,
type:'GET',
dataType: 'json',
success: function(result){
    alert('hi');
    return true;
},
error:function(result){
    alert("Please enter an valid input");
    return false;

},
 complete: function () {
    // Handle the complete event
    alert("ajax completed " + "Your Data");
 }
});
return false;
}
</script>

这是我从API得到的响应:

    [{"UserId":"at12345","count":0,"Name":"Amras  Taj"}, 
    {"UserId":"AR12345","count":0,"Name":"Anaagh R"}, 
    {"UserId":"MS12345","count":4,"Name":"Madhan S"}]

答案 1 :(得分:0)

将输入类型 submit 更改为 button

<input type="button" onclick ='return getRepoCount();' value="submit">

单击提交按钮后,表单将在触发警报功能之前重新加载,这就是为什么您没有收到响应警报的原因。

或者您也可以使用onSubmit事件触发该事件,例如

<form action="indextable.html" method="GET"  onsubmit="getRepoCount()"> 

除非执行的js代码为true,否则不允许重新加载页面。如果您不希望重新加载它,则应返回false。