0

我使用了一个最简单的 CSS 来显示一个 litebox 视图。我使用的代码是,我从这里删除了不必要的 CSS 属性:

<style>
        .black_overlay{
            display: block;

        }
        .white_content {
            display: block;

        }
    </style>

表单的 HTML

 <div id="light" class="white_content">      
        <input id="name" name="name" type="text" />

        <input id="password" name="password" type="password" />
        <input type="submit" name="submit" value="Sign In" onclick="check(this.form)"/>

        </div>

        <div id="fade" class="black_overlay"></div>

还有一个 JavaScript 函数,用于检查字段是否正确

function check(form)/*function to check userid & password*/
{

var name= $( "#name" );
var pass=$("#password");
 if(name== "admin" && pass == "admin")
  {
  document.getElementById('light').style.display='none';
  document.getElementById('fade').style.display='none';
  }
 else
 { 
   alert("Error Password or Username");/*displays error message*/
  }
}

我想要的功能是,当用户输入正确的名称并通过时,即“管理员”,lite box 效果消失了……但事实并非如此,lite box 仍然存在。我怎样才能关闭它。我还希望这个 litebox 效果应该在页面加载时显示。

4

2 回答 2

0

是提交事件没有被捕获和阻止的问题吗?在标记中没有形式。如果你像这样添加它

<form id="submit-me"> your form inputs </div>

你可以通过JS观察它

$("#submit-me").submit(function(event) {
  // your js code
  event.preventDefault();
});

对于您的实际示例,您可以尝试添加“return false;” 在 onclick 处理程序中?但我不知道这是否有效......

此致

于 2012-04-18T19:42:43.203 回答
0

代替

var name= $( "#name" );
var pass=$("#password");

var name= $( "#name" ).val();
var pass=$("#password").val();
于 2012-04-18T19:31:02.547 回答