0

在我的表单中,如果用户输入,我想在提交表单之前删除一些特殊字符,如空格。我显然是通过以下方式做到了这一点。

$('input[type="text"]').each(function()
{
        var modifiedval=$(this).val().replace(//regexpr to remove the specialchar);
        $("#"+$(this).attr("id")).val(modifiedval);
 });
 $("form#myform").submit();

唯一的问题是,当表单提交时,在后端执行一些操作。发布需要一些时间。因此,当删除特殊字符时,用户会知道特殊字符已被删除。

我想隐藏这个动作。所以我做了$.post修改序列化数据后发布表单的方法。它也很好用。

但是 URL 不会转到操作页面。因为它在ajax中做到了。但我想连同修改后的数据一起去操作页面,比如提交。是否可以在 jQuery 中修改数据提交。

1)我的观点要实现 - 用户在提交表单之前不能看到修改后的值,但需要将修改后的数据发布到后端。

注意:我无法更改已经开发的操作页面。

提前致谢。

4

2 回答 2

0

在您的 AJAX 调用的成功回调函数中尝试此操作。

$.post('POST_URL', 'MODIFIED_DATA', function(data) { 
    window.location = 'YOUR_NEW_LOCATION';
});
于 2013-07-25T03:12:25.117 回答
0

为什么不直接捕获对 submitButton 进行的单击事件,然后在表单中获取值并制作控件,然后向服务器发出 ajax 请求,当然不要忘记停止提交按钮的操作。您可以在此代码块内执行您的操作;

$("#submitButtom").on('click',function(evt) {
    evt.preventDefault();    //Prevents the default action of the button

    //Your controls
    //Your ajax request with the variables you want
    //You can redirect user to different pages on ajax's success return part
    //Or you can clear inside of your input boxes
}
于 2013-07-25T04:07:55.217 回答