首页 新闻 会员 周边

请教 IE9 运行java网站程序,提交form 表单时,跳过了 表单验证问题。

0
悬赏园豆:20 [已解决问题] 解决于 2012-12-12 14:18

jsp 关键代码如下:

function CheckSubmit(){

       //验证实例名称
       var sname=$('#name').val().trim();
       if(sname=='')
      {
         alert("实例名称为必填项!");
         return false;
       }

}

---------------------------------------------------------------------------------

<form method="post" action="/create/save" onsubmit="return CheckSubmit();" id="formupdate">

      <table style="width: 100% ;height:80px">

          <tr>

              <td width="70">实例名称:</td>
              <td width="235">
              <input type="text" id="name" name="name" tabindex="1" /></td>
         </tr>

      </table>

      <input type="submit" value="提交"  id="SubmitButton" />

 </form>

 

在火狐及google浏览器中运行时,都能执行  form 表单的验证功能。  但是在IE9 浏览器下,就跳过了这个验证。求解!

icyme的主页 icyme | 初学一级 | 园豆:77
提问于:2012-12-12 12:00
< >
分享
最佳答案
1

你的 trim 函数写错了吧

 var sname = $.trim($('#name').val());

收获园豆:10
Qlin | 老鸟四级 |园豆:2403 | 2012-12-12 12:50

谢谢你的热情回复,问题正是出在这儿。

icyme | 园豆:77 (初学一级) | 2012-12-12 14:17
其他回答(3)
0

是不是考虑用IE9的“兼容性视图”运行一下。

收获园豆:5
Launcher | 园豆:45045 (高人七级) | 2012-12-12 12:37

还是存在这个问题

支持(0) 反对(0) icyme | 园豆:77 (初学一级) | 2012-12-12 12:41

@izhangxu: 用IE的开发人员工具调试下页面,看看生成的页面的代码是什么。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2012-12-12 12:46

@Launcher: 

这位大哥,问题解决了,<input type="button" value="提交"  id="SubmitButton" click="javascript:if(CheckSubmit()){$('#formupdate').submit();}"/>方式验证都通过后,不能提交,还是采用以前的这个方式:

<input type="submit" value="提交" tabindex="13" id="SubmitButton" class="SubmitButton" />

问题的真正原因是:在我的验证方法中以下这种写法,在IE9中识别不了  

var sname = $('#name').val().trim();

应该改为“二楼”同志那种写法

var sname= $.trim($('#name').val());  

这种,IE9就能识别了。

其实 IE9 提交时,是执行了验证方法的,只是我那种写法,IE9 默认都通过了,火狐和google能识别。

改成 var sname= $.trim($('#name').val());  这种,这三个浏览器都可以在提交时执行验证了。

感谢你的热情帮助。

支持(0) 反对(0) icyme | 园豆:77 (初学一级) | 2012-12-12 14:17
0

      <input type="button" value="提交"  id="SubmitButton" click="javascript:if(CheckSubmit()){$('#formupdate').submit();}"/>

收获园豆:5
chenping2008 | 园豆:9836 (大侠五级) | 2012-12-12 13:06

这种方式,在IE 9下点击这个button 还是没有任何反映,但是与之前有一点区别,之前是:点击button就直接提交了。现在点击,没有任何提示,也没有提交数据。我试图加上提示语句,写成了如下:

<input type="button" value="提交"  id="SubmitButton" click="javascript:if(CheckSubmit()){$('#formupdate').submit();}else{alert('数据未完善!')}"/>   ,但是仍未执行 else里面的内容。

支持(0) 反对(0) icyme | 园豆:77 (初学一级) | 2012-12-12 13:50

这位大哥,问题解决了,<input type="button" value="提交"  id="SubmitButton" click="javascript:if(CheckSubmit()){$('#formupdate').submit();}"/>方式验证都通过后,不能提交,还是采用以前的这个方式:

<input type="submit" value="提交" tabindex="13" id="SubmitButton" class="SubmitButton" />

问题的真正原因是:在我的验证方法中以下这种写法,在IE9中识别不了  

var sname = $('#name').val().trim();

应该改为“二楼”同志那种写法

var sname= $.trim($('#name').val());  

这种,IE9就能识别了。

其实 IE9 提交时,是执行了验证方法的,只是我那种写法,IE9 默认都通过了,火狐和google能识别。

改成 var sname= $.trim($('#name').val());  这种,这三个浏览器都可以在提交时执行验证了。

感谢你的热情帮助。

支持(0) 反对(0) icyme | 园豆:77 (初学一级) | 2012-12-12 14:16
0

function CheckSubmit(){
 
       //验证实例名称
       var sname=$('#name').val().trim();
       if(sname=='')
      {
         alert("实例名称为必填项!");
         return false;
       }
   return true;
}

Rich.T | 园豆:3440 (老鸟四级) | 2012-12-12 14:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册