<form id="thisform" name="thisform" method="post" action="">
  <p>
    <input type="text" name="abc" id="abc" />
</p>
  <p>
    <input type="text" name="abc" id="abc" />
  </p>
  <p>
    <input type="text" name="abc" id="abc" />
</p>
  <p>
    <input type="submit" name="button" id="button" value="提交" />
  </p>
</form>以上代码,ABC文本框为变量添加,在提交时,如何用JS判断不能全部为空?
如果是一个文本框,我通常用:<script>
function checkamount(thisform)
{
 if(thisform.abc.value=="")
 {
  window.alert("内容不能为空")
  thisform.abc.focus()
  return false
 }
}
 </script> 

解决方案 »

  1.   

    要搞清楚:ID具有唯一性,每个ID的值是不同的,是唯一的。
      

  2.   

    <form id="thisform" name="thisform" method="post" action="" onsubmit='validchk(this)'>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="submit" name="button" id="button" value="提交" /></p>
    </form><script>
    function checkamount(f){
      var o=f.abc;
      if(!o){alert('程序错误,无法验证!');return false}
      for(var i=0;i<o.length;i++){
        if(o[i].value==""){alert("内容"+(i+1)+"不能为空");  o[i].focus();  return false; }
      }
    }
     </script> 
      

  3.   

    你可以用document.getelementbyname读出name=“abc”的,然后循环判断喽。
      

  4.   

    <script type="text/javascript">
    function checkamount(/*f*/){
      var o=document.getElementsByName("abc");
      /*var o=f.abc*/;
      if(!o){alert('程序错误,无法验证!');return false}
      for(var i=0;i<o.length;i++){
        if(o[i].value==""){alert("内容"+(i+1)+"不能为空");  o[i].focus();  return false; }
      }
    }
     </script> 同意“理上网来”~看看能不能解决你的问题!
      

  5.   

    是getElementsByName
    另外在IE里这个方法有时候失效
    所以并不可靠
      

  6.   

    [CODE]<script type="text/javascript">
    function checkamount(/*f*/){
      var o=document.getElementsByName("abc");
      /*var o=f.abc*/;
      if(!o){alert('程序错误,无法验证!');return false}
      for(var i=0;i<o.length;i++){
      if(o[i].value==""){alert("内容"+(i+1)+"不能为空"); o[i].focus(); return false; }
      }
    }
     </script>[/CODE]试下UBB~
      

  7.   

    <script type="text/javascript">
    function checkamount(/*f*/){
      var o=document.getElementsByName("abc");
      /*var o=f.abc*/;
      if(!o){alert('程序错误,无法验证!');return false}
      for(var i=0;i<o.length;i++){
      if(o[i].value==""){alert("内容"+(i+1)+"不能为空"); o[i].focus(); return false; }
      }
    }
     </script> 上次没弄好,再试一次~
      

  8.   

    hlq_zist:
    谢谢,快实现了,但我要的是,三个文本框,只要一个有内容就通过提交。现在JS,如果第一个为空,其他有内容也不能通过,望指正,谢谢。
      

  9.   

    既然楼主说ABC文本框为变量添加,那想必是在Array()中动态取的了
    那你就直接遍历你的Array并逐一判断就可以了
    大致为:
    //数组中为你说要的类似为abc
    var arg = new Array();
    arg.push("abc");//这里就是你动态取值和判断的了
    var flag =false;
    for(var i=0;i<arg.length;i++){
       var txtValue = document.getElementById(arg[i]).value;
       if(txtValue !=""){
           flag =true;
       }
    }if(flag){
       //写你要提交操作的代码
    }------------------------------
    以上是我的理解,希望对你有用
      

  10.   

    <form id="thisform" name="thisform" method="post" action="" onsubmit='validchk(this)'>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="submit" name="button" id="button" value="提交" /></p>
    </form><script>
    function checkamount(f){
      var o=f.abc, total=0;
      if(!o){alert('程序错误,无法验证!');return false}
      for(var i=0;i<o.length;i++){
        if(o[i].value==""){total ++}
      }
      if(total=o.length){alert("内容"+(i+1)+"不能为空");  o[i].focus();  return false; }
    }
     </script> 
      

  11.   


    用11楼的改了改<form id="thisform" name="thisform" method="post" action="" onsubmit='checkamount(this)'>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="text" name="abc" id="abc" /></p>
      <p><input type="submit" name="button" id="button" value="提交" /></p>
    </form><script>
    function checkamount(f){
      var o=f.abc, total=0;
      if(!o){alert('程序错误,无法验证!');return false}
      for(var i=0;i<o.length;i++){
        if(o[i].value==""){total ++}
      }
      if(total==o.length){alert("内容不能为空");  return false; }
      else {alert("提交成功!");  return true; }
    }
     </script>