2012-08-12 73 views
1

我有代码:JS - 检查长度功能

function check($ile,$co,$gdzie) 
{ 
    if (document.forms.form.$co.value.length >= $ile){ 
    document.forms.form.$gdzie.focus(); 
    } 
} 

而且它不工作。错误(在谷歌浏览器检查):

Uncaught TypeError: Cannot read property 'value' of undefined script.js:39 
check script.js:39 
onkeyup 

它是我的html代码:

<p><label><?php echo TEL; ?>: <input type='text' name='tel' size='9' maxlength='9' onkeypress="keyPressNumb(event);" onKeyUp="check(9,'tel','pesel');"></label></p> 
<label><?php echo PESEL; ?>:<span class='red'>*</span> <input type='text' name='pesel' size='11' maxlength="11" onKeyUp="check11();" onkeypress="keyPressNumb(event);"></label></p> 
+3

尝试'document.forms.form [$ co] .value.length',因为通过点符号访问对象的值时无法使用变量。 – mAu 2012-08-12 19:26:47

+0

Thx,它的工作;) – Quarties 2012-08-12 19:37:19

回答

1

尝试document.forms.form[$co].value.length,如通过点符号访问对象的值时,你不能使用一个变量。

在您的代码中,js预计对象document.forms.form中的属性$ co。当您想通过变量访问某个属性时,必须使用括号来访问该属性。

document.bar = "hello world"; 

var foo = "bar"; 
document.foo // undefined, because document has no property "foo" 
document[foo] // "hello world" 
+0

现在我明白,thx。我是新来的,我是最新的;) – Quarties 2012-08-12 19:55:15

+0

@Quarties不客气。请阅读[faq](http://stackoverflow.com/faq),因为您似乎对于stackoverflow来说是新手。如果您发现这个答案有帮助,请考虑批准它。 – mAu 2012-08-12 20:02:54

+0

我知道,我忘了;)我现在纠正它! – Quarties 2012-08-12 20:07:47