zoukankan      html  css  js  c++  java
  • Js表单Submit问题

    一般在submit前,会用js查核是否满足提交标准,如下:

    function doSubmit(){
    
      if(doucument.getElementbyId("myID") ==""){
    
        alert("xxxx为空!!!");
    
        return false;
    
    }
    
    return true;
    
    }

    但如果dosubmit中需要检验的模块较多,为了方便,我们在先定义多个js方法,然后在dosubmit中调用这些js方法,如下

    function doSubmit(){
    
      CheckRadioButton();
    
      CheckTextBox();
    
      return true;
    
    }
    
    function CheckRadioButton(){
    
       if(doucument.getElementbyId("myID") .checked==false){
    
        alert("未选中!!!");
    
        return false;
    
    }
    
    }
    
    function CheckTextBox(){
    
      if(doucument.getElementbyId("myID") ==""){
    
        alert("xxxx为空!!!");
    
        return false;
    
    }
    
    }

    这事我们发现,在提交表单时,有弹出对话框,但数据还是传送出去了!!!!但为什么第一种方式可行,第二种方式就不行了?

    如果我们在js方法中加入event.returnValue=false,这时我们发现就可以了。

    function doSubmit(){
    
      CheckRadioButton();
    
      CheckTextBox();
    
      return true;
    
    }
    
    function CheckRadioButton(){
    
       if(doucument.getElementbyId("myID") .checked==false){
    
        alert("未选中!!!");
    
        event.returnValue=false;
    
        return false;
    
    }
    
    }
    
    function CheckTextBox(){
    
      if(doucument.getElementbyId("myID") ==""){
    
        alert("xxxx为空!!!");
    
        event.returnValue=false;
    
        return false;
    
    }
    
    }

    那event.returnValue=false;与return false;有什么区别?

    event.returnValue 将其值设置为false就可以取消事件的默认行为(适合IE),比如submit按钮提交表单的功能;return 就是从函数体返回一个结果。故在第一种

    情况中,即使返回了false,但主函数体

    function doSubmit(){
    
      return true;
    
    }

    依然返回true了!

  • 相关阅读:
    Linux学习 :字符设备框架
    Linux学习 :Uboot, Kernel, 根文件系统初步分析
    Linux学习 : 裸板调试 之 配置UART
    Linux学习 : 裸板调试 之 配置使用NAND FLASH
    Linux学习 : 裸板调试 之 使用MMU
    Linux I2C总线控制器驱动(S3C2440)
    Linux I2C总线设备驱动模型分析(ov7740)
    Linux摄像头驱动学习之:(六)UVC-基本框架代码分析
    【Java】 剑指offer(25) 合并两个排序的链表
    【Java】 剑指offer(24) 反转链表
  • 原文地址:https://www.cnblogs.com/yuhuabaobao/p/4409686.html
Copyright © 2011-2022 走看看