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

时间:2014-03-20 16:09:07

标签: javascript html forms

我是一位没有经验的网页开发人员,使用JS进行客户端验证和使用服务器端PHP编写注册表单。我试图只测试一个变量,并确保它传递给JS。我听说jsfiddle并不喜欢表单,所以我重新组织了我的小提琴代码,不包含任何表单标签。我运行它时代码没有做任何事情。有人可以帮忙吗?另外,我应该安装Apache来在本地测试表单还是Chrome能够处理它?我知道我最终必须测试PHP,但我现在只是想让JS验证工作。

http://jsfiddle.net/5JT94/

HTML:

<p>Zip Code: <input type="text" name="zipbox"></p>
<p><input type="submit" name="submit" onClick="formValidation()" value="Submit" /></p>

JS:

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");  
    }  
}; 
};

4 个答案:

答案 0 :(得分:1)

您没有在找到的zip上执行此功能。

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

http://jsfiddle.net/5JT94/1/

答案 1 :(得分:0)

如果您不想添加ID(无法理解原因):

演示:JSFiddle

HTML

<form name="zipform">
    <p>Zip Code: <input type="text" name="zipbox" /></p>
    <p><input type="submit" name="submit" value="Submit" /></p>
</form>

JS

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;

答案 2 :(得分:0)

其中一个问题可能与jsfiddle的工作方式有关。我不得不添加&#34; window.formValidation = formValidation&#34;这样就可以找到你在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

答案 3 :(得分:-2)

你的元素没有id?改变如下

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

然后从那里调试