在javascript(表单)中传递简单变量

在javascript(表单)中传递简单变量,javascript,html,forms,Javascript,Html,Forms,我是一个没有经验的web开发人员,使用JS编写注册表单进行客户端验证,使用PHP编写服务器端验证。我一直在尝试测试一个变量,并确保它被传递给JS。我听说JSFIDLE不喜欢表单,所以我重新构造了FIDLE代码,使其不包含任何表单标记。当我运行代码时,它不会做任何事情。有人能帮忙吗?另外,我应该安装Apache在本地测试表单,还是Chrome能够处理它?我知道我最终将不得不测试PHP,但我现在只是想让JS验证工作起来 HTML: 您的元素没有id?变化如下 <input id="zi

我是一个没有经验的web开发人员,使用JS编写注册表单进行客户端验证,使用PHP编写服务器端验证。我一直在尝试测试一个变量,并确保它被传递给JS。我听说JSFIDLE不喜欢表单,所以我重新构造了FIDLE代码,使其不包含任何表单标记。当我运行代码时,它不会做任何事情。有人能帮忙吗?另外,我应该安装Apache在本地测试表单,还是Chrome能够处理它?我知道我最终将不得不测试PHP,但我现在只是想让JS验证工作起来

HTML:


您的元素没有id?变化如下

   <input id="zipbox" type="text" name="zipbox">


然后从那里调试

您没有在找到的zip上执行函数

var zip=document.getElementById("zipbox");  
allnumeric(zip);

如果您不想添加id(看不出原因):

演示:

HTML


其中一个问题可能与JSFIDLE的工作方式有关。我必须添加“window.formValidation=formValidation”,以便找到在onClick中定义的formValidation函数。第二,您有一个allnumeric函数,但它没有被调用

function formValidation()  
{  
    var zip=document.getElementById("zipbox");  

    function allnumeric(zip)  
    {   
        var numbers = /^[0-9]+$/; 
        if(zip.value.match(numbers))  
        {  
            alert("Everything OK");
        }  
        else  
        {  
            alert("Numbers only please");  
        }  
    }; 

    allnumeric(zip);
};

window.formValidation = formValidation

“当我运行代码时,它什么都不做。”它应该做什么?你从不调用
allnumeric()
。这是一条注释,不是答案。它的id在小提琴上。调试时,我意外地将它改为name并粘贴到了我的帖子中。看起来像是报复+您还将JSFIDLE从“onload”更改为“no wrap-in”
var zip=document.getElementById("zipbox");  
allnumeric(zip);
<form name="zipform">
    <p>Zip Code: <input type="text" name="zipbox" /></p>
    <p><input type="submit" name="submit" value="Submit" /></p>
</form>
function formValidation() {  
    var zip=document.forms["zipform"].elements["zipbox"];
    var numbers = /^[0-9]+$/; 
    if(zip.value.match(numbers))  {  
        alert("Everything OK");
    } else {  
        alert("Numbers only please");
        return false;
    }
    return true;
}

document.forms["zipform"].elements["submit"].onclick=formValidation;
function formValidation()  
{  
    var zip=document.getElementById("zipbox");  

    function allnumeric(zip)  
    {   
        var numbers = /^[0-9]+$/; 
        if(zip.value.match(numbers))  
        {  
            alert("Everything OK");
        }  
        else  
        {  
            alert("Numbers only please");  
        }  
    }; 

    allnumeric(zip);
};

window.formValidation = formValidation