<script type="text/javascript">
function check()
{
$name1=document.getElementById("name1").value;
        $name2=document.getElementById("name2").value;
if($name1==''){
alert("電郵地址不能为空!");
return false;
                      }
if($name2==''){
alert("英文名字不能为空!");
return false;
                      }
}</script><form action="" id="contact-form" method="post" class="main-contacts">
   <div class="bg"><input type="text"  name="name" id="name" ></div>
   <span class="left">電郵地址:</span>
   <div class="bg"><input type="text"  name="name" id="name" ></div>
   <span class="left">英文名字:</span>
   <div class="bg"><input type="text"  name="name" id="name" ></div>
   <span class="left">中文姓名:</span>
   <div class="bg"><input type="text"  name="name" id="name" ></div>
   <span class="left">姓別:</span>    <a href="#" id="submit" class="button" onclick="check()" >登記</a>
</form>
    我上面的判读方法是每个要填的信息要一一判断,我的想法是,假如有很多个必填项,那我不就是要判断很多次,现在想做的是即使有一个没有填写就提示“请填写所有信息!”
    也就是判断一次。。可以实现吗?????

解决方案 »

  1.   

    判断肯定是要一个一个判断,如果想写的简洁,就用for,或者更简点用jquery
    我把你的例子稍改了一点,可如下
    script type="text/javascript">
              function check() {
                  $("#contact-form input[type=text]").each(function() {
                      if ($(this).val() == "") {
                          alert($(this).prev().html() + "不能为空");
                          return false;
                      }
                  });
              }</script><form action="" id="contact-form" method="post" class="main-contacts">
      <div class="bg"><span class="left">電郵地址</span><input type="text" name="email"  ></div>
      
      <div class="bg"><span class="left">英文名字</span><input type="text" name="ename"  ></div>
      
      <div class="bg"><span class="left">中文姓名</span><input type="text" name="cname"  ></div>
      
        <a href="#" id="submit" class="button" onclick="check()" >登記</a>
    </form>