使用 Javascript 提交表单

2024-05-07

我的一些表单是用Javascript/JQuery提交的,所以不会发生页面刷新。

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

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

除非我疯了,否则我只能推断我的 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"); } });

    });

});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Javascript 提交表单 的相关文章

随机推荐