为什么我不能在输入字段中捕获值? (JS / HTML)

时间:2015-09-21 11:32:04

标签: javascript html text input

我正在尝试为我的输入字段创建验证函数,问题是我无法捕获输入字段中的内容!!

当我运行测试并在输入字段中输入内容时,它不会返回任何内容......

这是我的代码

class

滚动到底部并查看文本/ JS样式,我已经测试了很多年,我只是想不出来!

2 个答案:

答案 0 :(得分:0)

有效的id和name属性不能包含空格。

https://www.w3.org/TR/html-markup/global-attributes.html#common.attrs.id

解决方案:删除空格。

其他问题:

首先,您正在阅读渲染的值,在提交表单时您没有阅读它们。当值发生变化时,它不会神奇地更新变量。将代码移动到读取函数内部值的位置。

您也永远不会声明event,因此您有一个未定义的变量。

您从函数返回,但您的onsumbit处理程序不处理返回。

1:从名称和ID中删除空格

2:修复onsubmit hander

<form onsubmit="return test()">

3:将字段的读数移动到测试函数

function test (event) {
    var a=document.forms["myForm"]["FirstName"].value;
    var b=document.forms["myForm"]["LastName"].value;
    var c=document.forms["myForm"]["EmailAddress"].value;
    var d=document.forms["myForm"]["Company"].value;
    var e=document.forms["myForm"]["JobTitle"].value;
    if(1===1){
        alert(a);
        alert(b);
        //event.preventDefault();
        return false; 
    }
    return true;
}

答案 1 :(得分:0)

您不能使用数组集合等表单元素来访问它的值。 因为document.forms['idOfForm']将返回表单元素而不是数组。

对于Web标准,您不应在元素名称和ID中使用空格。

以下是您的代码的工作形式 http://jsfiddle.net/vcgquvh7/