【问题标题】:Submit not working with IE提交不使用 IE
【发布时间】:2014-06-17 16:34:17
【问题描述】:

简单的 jquery 脚本:

$( "#action" ).submit(function( event )
 {
     if ($("#field_name").val() == 1 ){
         alert('1');
         return true;}
         else {
             alert('no');
         return false;}
  });

此脚本适用于 FF,但在 IE 上没有任何反应。如何在 IE 上验证/检查表单?

【问题讨论】:

  • 使用点击代替提交
  • #action 是什么元素类型?您是否在控制台中遇到任何错误?
  • @RichieHindle 表单 ID
  • 这种类型的例子也确实需要HTML。最好全部在 JSFiddle 中。 :)
  • 对我来说适用于 IE 7,8 和 9。 1.你是否将它包装在一个onready函数中? 2.你用的是什么版本的JQuery?

标签: javascript jquery html internet-explorer firefox


【解决方案1】:

您的代码运行良好:http://jsfiddle.net/TrueBlueAussie/y4y83/1/

DOM 准备好了吗?

最可能的原因是没有将 jQuery 包装在 DOM 就绪事件中。

$(function () {
    $("#action").submit(function (event) {
        if ($("#field_name").val() == 1) {
            alert('1');
            return true;
        } else {
            alert('no');
            return false;
        }
    });
});

$(function () { 只是$(document).ready(function(){ 的快捷方式

否则,浏览器加载时间会产生影响,具体取决于 jQuery 代码位置(而不是在正文末尾等)

包括 JQuery 吗?

cmets 中提供的示例 JSFiddle 破坏了 HTML。也不是没有一个包含 jQuery。请确保您正确包含 jQuery。

【讨论】:

  • @user3747585:您的 JSFiddle 损坏了 HTML(head 标记包含表单并且没有关闭 >
  • @user3747585:您没有在 JSFiddle 的左侧包含 JQuery :) 它工作正常:jsfiddle.net/TrueBlueAussie/3gzdL/3
  • 这在 IE 9、10 和“边缘”模式下运行良好:jsfiddle.net/TrueBlueAussie/3gzdL/3
  • @so 问题出现在我的 IE 中?
  • 如果最后一个 JSFiddle 不能在 IE 中为您工作,那听起来很像。没有其他人有问题。
【解决方案2】:

您也可以在 HTML 表单代码中使用 onSubmit 事件;这在 IE 上效果更好。

<form ... onSubmit="return checkForm();">
   // form
</form>    

<script>
    function checkForm(){
        // your function that should return true or false
    }
</script>

【讨论】:

  • 这应该没什么区别。同样不显眼的 jQuery 编码通常不需要内联代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 2012-05-20
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多