2017-05-07 114 views
-4

我想知道在下面的代码中,当我通过(document.getElementById)引用一个元素 ,并使其与验证目的的变量相等时,为什么我不能使用名称而不是name1在JavaScript中。需要帮助javascript

function validation() { 
 
    name1 = document.getElementById('name'); 
 
    if (name1.value == "") { 
 

 
    alert('this field cannot left empty'); 
 
    return false; 
 
    } 
 
}
<form id="form" action="message.html" method="post" onSubmit='return validation()' /> 
 
<input type="text" placeholder="enter your name" id='name' /> 
 
<input type="text" placeholder="address" id='address' /> 
 
<input type="tel" placeholder="telephone" id="telephone" /> 
 
<input type="submit" value="submit">

+0

尝试使用控制台... F12 – Akxe

+0

你说你不能用'名=的document.getElementById( '名');'? – lU5er

+0

是的,在这种情况下,我不能使用与元素ID相同的变量名称。 –

回答

2

在将var添加到name1之后,代码将开始执行。添加var后,您也可以将document.getElementById('name')指定为name,并且它可以工作。您可以运行以下代码段以供参考。

function validation(){ 
 
    var name=document.getElementById('name'); 
 
    if(name.value== ""){ 
 
     alert('this field cannot left empty'); 
 
     return false; 
 
    } 
 
}
<form id="form" action="message.html" method="post" 
 
onSubmit='return validation()'> 
 
    <input type="text" placeholder="enter your name" id='name' /> 
 
    <input type="text" placeholder="address" id='address' /> 
 
    <input type="tel" placeholder="telephone" id="telephone" /> 
 
    <input type="submit" value="submit"> 
 
</form>

+2

您需要将'input'-elements放在'form'-tag内。 '

' –

+0

@ H.Pauwelyn感谢您指出:)纠正它。 – Sumit

+0

在代码中还有一个问题:'

''必须'''结尾。 –

0

尝试使用这个..

你忘了declare变量。 如果您在使用前使用variable代替assignmentmust declare it

更多参考你可以看一下这个流行线程SO,What is the purpose of the var keyword and when to use it (or omit it)?

function validation(){ 
    var name = document.getElementById('name'); 
    if(name.value== ""){ 
     alert('this field cannot left empty'); 
    return false; 
    } 
} 
+0

Thanx一吨,所以它总是很好的声明变量。我认为,如果我不声明变量JavaScript仍将它用作变量。 –

+0

@AliRaza有关'var'的说明,你可以参考http://stackoverflow.com/questions/1470488/what-is-the-purpose-of-the-var-keyword-and-when-to-use-it-it-或者,省略-它。在使用它之前声明一个变量总是很好的做法。 – lU5er

0
var name=document.getElementById('name'); 

元素名称之前,您应该使用VAR。