Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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发送到php进行检查并返回到javascript_Php_Javascript_Validation - Fatal编程技术网

将一个变量从javascript发送到php进行检查并返回到javascript

将一个变量从javascript发送到php进行检查并返回到javascript,php,javascript,validation,Php,Javascript,Validation,我正在使用JavaScript验证我的表单。这是基本的验证。我遇到的步骤是,通过post将synum变量从java脚本发送到我的php页面valid_synum.php,在那里我进行pdo查找以检查synum是否存在,然后根据结果回显1或0。我希望java脚本获取该结果并发送一个警报错误,或者如果确定,则允许表单提交。这是我的javascript。据我所知,邮电局 $.post(“valid_synum.php”,{synum:synum} 从未调用。我在php页面中放置了一个测试,并且该测试从

我正在使用JavaScript验证我的表单。这是基本的验证。我遇到的步骤是,通过post将synum变量从java脚本发送到我的php页面valid_synum.php,在那里我进行pdo查找以检查synum是否存在,然后根据结果回显1或0。我希望java脚本获取该结果并发送一个警报错误,或者如果确定,则允许表单提交。这是我的javascript。据我所知,邮电局

$.post(“valid_synum.php”,{synum:synum}

从未调用。我在php页面中放置了一个测试,并且该测试从未从脚本中激活。如果我直接在浏览器中加载php,效果会很好

任何帮助都将不胜感激

<script> 
function isNumber(input)
{

return (input - 0) == input && (input+'').replace(/^\s+|\s+$/g, "").length > 0;
}

function checkForm(f)
{
     if (f.elements['worknum'].value != "") 
    { 
     if ((isNumber(f.elements['worknum'].value)) == false)
        {
        alert("The Work Order Number is not valid")
        return false;
        }
        var chars = 6;
    if((f.elements['worknum'].value).length != 6)   
        {
        alert("The Work Order Number is not 6 digits")
        return false;
        }
    }

    if (f.elements['synum'].value == "") 
    {
        alert("Please Enter the Store Number");
        return false;
    }
     if (f.elements['worknum'].value == "") 
    {
        alert("Please Enter the Work Order Number");
        return false;
    }

    if (f.elements['synum'].value != "")
        {
        //get the username  
        var synum = (f.elements['synum'].value);  


        $.post("valid_synum.php", { synum: synum },  
            function(result){  

                     //if the result is 1  
                if(result == 1){  
                    //do nothing valid synum 
                    alert("Good") 
                    return false; 
                }else{  
                    //show that the username is NOT available  
                    alert("The store number is NOT valid. Please Enter full store number") 
                    return false; 
                }  
        }); 

    }   

    else
    {
        f.submit();
        return false;
    }

}


</script> 

也许这篇博文可以帮助你: 有一个类似的问题,它显示了如何解决它


mate

我应该检查打开/关闭方括号是否合适,以了解代码未按所需条件输入的原因

顺便说一下,您可以测试字符串是否是数字,并以更简洁的方式验证它是否为空

function isNumber(number){ 
    return !isNaN(+number) && number !== ""
}

我更改了设置代码的方式并删除了

$(document).ready(function(){
$("#synum").change(function() {      
$.post("valid_synum.php", { synum: synum },  
        function(result){  

                 //if the result is 1  
            if(result == 1){  
                //do nothing valid synum 
                alert("Good") 
                return false; 
            }else{  
                //show that the username is NOT available  
                alert("The store number is NOT valid. Please Enter full store number") 
                return false; 
            }  
    }); 

从我的checkform函数中,一旦它是一个单独的函数,它就开始正常工作。

如果在.post之前放置警报,它会显示警报吗?意思是,它甚至会到达post代码吗?如果我发出警报(synum),它会显示警报吗;就在$.post之前,它确实向我显示了输入的内容。所有其他检查java脚本是否正常工作的错误。只是这一部分似乎没有激活。我在php上放置了代码,以便在访问该页面时发送电子邮件,只是为了测试该页面是否被访问。控制台中是否有任何错误?否,该页面没有它本身和我用于代码编辑的程序没有显示任何错误。请尝试将{synam:synam}更改为{synam:synamVal},并将var synumVal=(f.elements['synum'].value);。这可能是问题,可能不是这样,每次调用函数时都不需要创建Regex对象……谢谢,我会用您的语句进行调整“打开/关闭方括号”您的意思是确保我的var synum=(f.elements['synum'].value);实际拥有我所期望的数据?我已经在帖子前放置了一个警报,以测试数据以确认它是输入的数据。
$(document).ready(function(){
$("#synum").change(function() {      
$.post("valid_synum.php", { synum: synum },  
        function(result){  

                 //if the result is 1  
            if(result == 1){  
                //do nothing valid synum 
                alert("Good") 
                return false; 
            }else{  
                //show that the username is NOT available  
                alert("The store number is NOT valid. Please Enter full store number") 
                return false; 
            }  
    });