如何通过grails中的safari浏览器中的ajax提交表单

时间:2013-10-24 19:00:15

标签: javascript ajax grails safari grails-2.0

我正在尝试通过ajax函数提交表单而按钮

但在 safari 浏览器上,它的提交方式与普通表单一样提交。

并在其他浏览器中通过 ajax 功能正常工作

<g:form action="addEmpHistory" name="formNew" method="post">

 <button id="submitBtn" name="submitBtn" onclick="submitform(formNew);"></button>

</g:form>

// Ajax代码

function submitform(data){  
    $("#"+data).submit(function(event) {    
        new Event(event).preventDefault();
        event.preventDefault();

        $.ajax({
            type: 'POST',
            url: '/user/addUSer',
            data: $('#'+data).serialize(),

            success: function (data) {
                location.reload();  
            }

        });
    });
}

1 个答案:

答案 0 :(得分:1)

看到你正在使用jQuery,考虑删除onclick

<form action="addEmpHistory" id="formNew" name="formNew" method="post">
    <button id="submitBtn" name="submitBtn">Submit</button>    
</form>

并用jQuery事件绑定替换您的submitform函数,如:

$(document).ready(function() {
    $("#formNew").submit(function() {
        $.ajax({
            type: 'POST',
            url: '/user/addUSer',
            data: $("#formNew").serialize(),
            success: function(data) {
                alert(data);
            }
        });

        return false; // prevent actual form submit
    });
});