//检测不能为空
function nonull(id,str)
{   
if (document.all[id].value=='')
    {
    alert("提示:\n\n"+str+"不能为空!");
    document.all[id].focus();
return false;
    }
 }function rk_Ajax() {
nonull('rk_sbbm','识别编码');
nonull('rk_sbmc','识别名称');
...
...
...
    }创建一个公用的检测是否为空的function nonull 这样在页面上就不会显的太乱,因为要检测十几个输入框
现在有个问题,我执行function rk_Ajax的时候,按顺序先检测rk_sbbm是否为空,可问题是,当空时能提示,可是它会接着检测下一个rk_sbmc,我的意思是,能不能在共用nonull里检测到为空时就停止执行下面的,能不能做到?

解决方案 »

  1.   

    var vFlag = false;
            function reup()
            {
                var cInput = document.getElementsByTagName("input");
                for(var i = 0 ; i < cInput.length ; i ++)
                {
                    if(vFlag == true)
                    {
                        break ;
                    }
                    if(cInput.item(i).value != cInput.item(i).defaultValue)
                    {
                          vFlag = true;
                          break;
                    }
                }
                if(vFlag == true){
                         //你的操作
                            //
                 }
            }本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/taoyuan0908/archive/2009/05/15/4187464.aspx
      

  2.   


    function rk_Ajax() {
    return nonull('rk_sbbm','识别编码');
    return nonull('rk_sbmc','识别名称');
    ...
    ...
    ...
        }
      

  3.   

    靠,颜色不行?
    就是在rk_Ajax()里,return ('rk_sbbm','识别编码');
      

  4.   

    <html>
    <head>
    <script language="javascript">
    //检测不能为空
    function nonull(id,str)
    {   
    if (document.all[id].value=='')
        {
        alert("提示:\n\n"+str+"不能为空!");
        document.all[id].focus();
            return false;
        }
    return true;
     }function rk_Ajax() {
    if (!nonull('rk_sbbm','识别编码'))
    {
    return;
    }
    if(!nonull('rk_sbmc','识别名称')){
    return;
    }}
    </script>
    </head>
    <body>
    <form>
    <input type="text" id="rk_sbbm" />
    <input type="text" id="rk_sbmc" />
    <input type="button" onclick="return rk_Ajax();" />
    </form>
    </body>
    </html>这样可以达到你的效果。
      

  5.   

    function nonull(id,str)
    {   
    if (document.all[id].value=='')
        {
        alert("提示:\n\n"+str+"不能为空!");
        document.all[id].focus();
            return false;
        }
    return true; }
      

  6.   

    function rk_Ajax() {
    return  nonull('rk_sbbm','识别编码');
    return  nonull('rk_sbmc','识别名称');
    ...
    ...
    ...
        }
      

  7.   

    function rk_Ajax() {
    if(nonull('rk_sbbm','识别编码')==false)return false;
    if(nonull('rk_sbmc','识别名称')==false)return false;
    ...
    ...
    ...
        }最简单,最实用的办法。
      

  8.   

    使用异或运算即可:
    function rk_Ajax() {
    var bPass = true;bPass ^= nonull("rk_sbbm", "识别编码'");
    bPass ^= nonull("rk_sbmc", "识别名称");//...
    //...
    //...return bPass; // 注意返回值为 1 或者 0,但是 JS 会自动转换为 true 或 false
    }
      

  9.   

    sorry,没看清题目!你可以把 id 和 str 保存在一个数组中,然后循环调用 nonull 函数!
    当遇到值为 false 时就退出循环并提示用户!