IE在执行脚本时双重提交数据

时间:2014-05-07 11:18:38

标签: php jquery ajax

在Jquery / Ajax中需要一些帮助。

我在一个页面中有多个表单,一旦单击其中一个,它就会将数据发送到post.php ++禁用提交按钮。 我正在使用以下脚本。

<script>
$(function () {
$('form').on('submit', function (e) {
    $.ajax({
        type: 'post',
        url: 'post.php',
        data: $(this).serialize(),
        success: function (returnedData ) {
         $( '#sidebar' ).load( 'div.php');

        }
    });
    e.preventDefault();
    });
});

</script>

<script>
    $(document).ready(function () {
    $('input[type=submit]').click(function () {
            $(this).prop("disabled", true);
            $(this).val( "Selected" );
              $(this).closest('form').trigger('submit');
                 });
    });
</script>

我遇到的问题是,它适用于所有浏览器,IE9除外。 (它提交数据......)。如何将两个脚本合并为一个?我遇到的问题是它适用于所有浏览器,IE9除外。 (它提交数据......)。如何将两个脚本合并为一个? (请注意,我在此页面中至少有50个表格......)**

1 个答案:

答案 0 :(得分:0)

使用此选项可防止双重提交

<input type="submit" onclick="return false; " />

要合并这两个脚本,只需执行以下操作:

<script>
$(function () {
$('input[type=submit]').click(function () {
  e.preventDefault();
  e.stopPropagation();

  $(this).prop("disabled", true);
  $(this).val( "Selected" );

  $.ajax({
        type: 'post',
        url: 'post.php',
        data: $(this).parents('form:first').serialize(),
        success: function (returnedData ) {
         $( '#sidebar' ).load( 'div.php');

        }
    });
});

</script>