javascript - 使用 Javascript 提交表单

标签 javascript jquery forms

我的一些表单是用Javascript/JQuery提交的,所以没有页面刷新。

但我注意到我的两台计算机之间的浏览器有一个奇怪的行为。 在一台计算机(以及我测试过的所有浏览器)上,我的表单提交按预期执行。 我的另一台电脑 (Mac) 时好时坏。我将提交表单,它会进行典型的 POST 刷新。因此浏览器刷新,我在 Url 地址栏中看到我的按钮文本。

-同样,我的 PC 浏览器不会执行此操作。

除非我疯了,否则我只能推断我 Mac 上的浏览​​器没有正确执行 javascript。但我更愿意在我的编码方面期待一个错误。

我是否正确确保表单不会与我的 Javascript 一起提交?

<form id="norefreshForm">
   <!--more form fields here -->
   <input type="submit" name="button" value="Submit Me" />
</form>

<script language="javascript" type="text/javascript">
$(document).ready(function(){

    $.ajaxSetup({
       global:false,
       cache:false,
       type:"POST",
       url:"<?=$_SERVER['REQUEST_URI'];?>",
       timeout:120000   
    });


    $("form#norefreshForm").submit(function(){

        $.ajax({ success:function(response){ alert("Submitted"); } });
        return false;
    });

});
</script>

最佳答案

实际上有些浏览器您应该执行 e.preventDefault() 而不是 return false; 我真的不知道为什么。但它发生在我身上很多。所以,你可以这样做:

 $("form#norefreshForm").submit(function(){
        e.preventDefault();//should be at the very top 
        $.ajax({ success:function(response){ alert("Submitted"); } });

    });

});

关于javascript - 使用 Javascript 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14229827/

相关文章:

javascript - 通过 expo 构建的 apk 未安装在 Android 上

javascript - 当一个元素是父元素时,如何在单击相应元素时触发相应功能?

javascript - 将 Bot 变量放入不同的 Commando 文件中

javascript - 如何使用下拉列表填充 Google 饼图?

javascript - 在其他选择中禁用选项

javascript - 点击OPTGROUP后选择所有子元素

javascript - 使用进度指示器时禁用/启用容器的子级

html - 在后台处理 html 表单

javascript - AngularJS 表单数据未定义

javascript - 为什么从表单提交并添加到列表中的值会消失?