2012-07-30 78 views
0

我在我的网页像一个div一个div,JavaScript来显示使用div的类名

<div class="errormsg" style="display: none;">Username is empty</div> 

我有这样的输入域,

<input type=textbox id="userid" /> 

现在我需要一个如果输入字段为空,则显示错误消息div。我需要使用div类而不是id。请帮忙。

P.S:我不想要Jquery,因为我的页面使用库文件有一些限制。

+0

你需要什么浏览器支持? – Inkbug 2012-07-30 06:53:27

+0

IE,ff和chrome – steeve 2012-07-30 07:04:44

+0

什么版本(IE)? – Inkbug 2012-07-30 07:10:04

回答

1

试试这个,假设只有一个errormsg格 -

更新
我添加了一个fiddle here。另外,有一个错字 - 修正

<div class="errormsg" style="display: none;">Username is empty</div> 
<input type=textbox id="userid" onchange="validate()" /> 

function validate(){ 
    var userId = document.getElementById('userId'), 
     errorMsg = document.getElementsByClassName('errormsg').item(); 
    if (userId.value === ''){ 
     errorMsg.style.display = 'block' 
    } else { 
     errorMsg.style.display = 'none'; 
    } 
} 
+0

这不工作吉比:( – steeve 2012-07-30 07:15:04

+0

等等,让我为你做一个小提琴 – 2012-07-30 07:15:43

+0

你的小提琴示例不工作太吉比:( – steeve 2012-07-30 07:54:13

-1

删除了jQuery和添加的Javascript代码如下:

<div class="errormsg">Username is empty</div> 
<input type='textbox' id="userid" onkeyup="javascript:call(this);" /> 

function getElementsByClassName(className) { 
    // For IE  
    if (document.all) { 
     var allElements = document.all; 
    } else { 
     var allElements = document.getElementsByTagName("*"); 
    } 
    var foundElements = []; 

    for (var i = 0, ii = allElements.length; i < ii; i++) { 
     if (allElements[i].className == className) { 
      foundElements[foundElements.length] = allElements[i]; 
     } 
    } 

    return foundElements; 

} 

function call(control) 
{ 
    var userid=document.getElementById('userid'); 
    var errorMsg = getElementsByClassName('errormsg')[0]; 
    if(userid.value == '') 
    {   
     errorMsg.style.display = "block"; 
    } 
    else 
    { 
     errorMsg.style.display = "none"; 
    } 
} 
+0

你可以请建议我如何检查这个javascript?我有一些使用库文件的限制。 – steeve 2012-07-30 07:08:50

+0

OP已经明确表示他做了不想要jQuery – 2012-07-30 07:13:04

0
<div class="errormsg">Username is empty</div> 
<input type='textbox' id="userid" onkeyup="javascript:call(this);" /> 

function getElementsByClassName(className) { 
    // For IE  
    if (document.all) { 
     var allElements = document.all; 
    } else { 
     var allElements = document.getElementsByTagName("*"); 
    } 
    var foundElements = []; 

    for (var i = 0, ii = allElements.length; i < ii; i++) { 
     if (allElements[i].className == className) { 
      foundElements[foundElements.length] = allElements[i]; 
     } 
    } 

    return foundElements; 

} 

function call(control) 
{ 
    var userid=document.getElementById('userid'); 
    var errorMsg = getElementsByClassName('errormsg')[0]; 
    if(userid.value == '') 
    {   
     errorMsg.style.display = "block"; 
    } 
    else 
    { 
     errorMsg.style.display = "none"; 
    } 
}