如何获得验证,以正确地工作在我的输入字段

How to get validation to work properly on my input fields

本文关键字:我的 输入 字段 工作 正确地 何获得 验证      更新时间:2023-09-26

我已经设法让我的字段正确计算,但现在我正试图添加一些验证,以证明是困难的。我要做的是确保字段只包含数字并且必须填充。

function audience_details()
if(fields.length === 0) {
     var aud1, aud2, total;
     var aud1 = parseInt(document.getElementById("audience_1_field").value);
     var aud2 = parseInt(document.getElementById("audience_2_field").value);
     var reach = parseInt(document.getElementById("reach_field").value);
     var total = (aud1 + aud2 - reach ) / aud1 * 100 ;
     total_field.value =  parseFloat(total).toFixed(2) + '%';
     estimate.value =  parseFloat(total).toFixed(2) + '%';
}
else {
     //alert fields must be complete / contain numbers only!
}

任何帮助将是可爱的这里是表单http://jsfiddle.net/pjf2v7b8/

请试试这个答案:

function audience_details(){
     var aud1, aud2, total;
     if(document.getElementById("audience_1_field").value == "" || !onlyNos(document.getElementById("audience_1_field"))){
            alert("Please enter valid number in audience 1");
     }
     else if(document.getElementById("audience_2_field").value == "" || !onlyNos(document.getElementById("audience_2_field"))){
            alert("Please enter valid number in audience 2");
     }
     else if(document.getElementById("reach_field").value == "" || !onlyNos(document.getElementById("reach_field"))){
            alert("Please enter valid number in reache field");
     }
     else{
        var aud1 = parseInt(document.getElementById("audience_1_field").value);
        var aud2 = parseInt(document.getElementById("audience_2_field").value);
        var reach = parseInt(document.getElementById("reach_field").value);
        var total = (aud1 + aud2 - reach ) / aud1 * 100 ;
        total_field.value =  parseFloat(total).toFixed(2) + '%';
     }
}
    function onlyNos(e) {
        try {
            if (e) {
                var charCode = e.value;
                if (charCode.charCodeAt() > 31 && (charCode.charCodeAt() < 48 || charCode.charCodeAt() > 57)) 
                    return false;
                else { return true; }
            }
            else{return false;}
        }
        catch (err) {
            alert(err.Description);
        }
    }

这里我将给出部分解。查看javascript验证和演示文件。

function audience_details()
{
var temp = document.getElementById("audience_1_field").value;
var temp1 = document.getElementById("audience_2_field").value;
var temp2 = document.getElementById("reach_field").value;
if(temp == "" || temp == null)
{
    alert("please enter Audience 1 value");
}
else if(temp1 == "" || temp1 == null)
{
    alert("please enter Audience 2 value");
}
else if(temp2 == "" || temp2 == null)
{
    alert("please enter Total Reach value");
}
else
{
 var aud1, aud2, total;
 var aud1 = parseInt(document.getElementById("audience_1_field").value);
 var aud2 = parseInt(document.getElementById("audience_2_field").value);
 var reach = parseInt(document.getElementById("reach_field").value);
 var total = (((aud1 + aud2) - reach ) / aud1) * 100 ;  
  total_field =  parseFloat(total).toFixed(2) + '%';
  estimate =  parseFloat(total).toFixed(2) + '%';
  document.getElementById("total_field").value = total_field;
}   
}
<<p> 样本演示/strong>

正如我在上面所说的partial solution,因为我没有在我的解决方案中添加数值验证。目前,它将检查它们是否输入值。如果没有,它将通过警报消息。您可以自己尝试数值验证。