在我的表单中,我想在提交表单之前删除一些特殊字符,如空格,如果用户输入的话。我通过以下方式明确地做到了这一点
$('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)我要实现的目标 - 用户在表单提交之前不得看到修改后的值,但需要将修改后的数据发布到后端。
注意:我无法更改已经开发的操作页面。
提前致谢。
答案 0 :(得分:0)
在AJAX调用的成功回调函数中尝试此操作。
$.post('POST_URL', 'MODIFIED_DATA', function(data) {
window.location = 'YOUR_NEW_LOCATION';
});
答案 1 :(得分:0)
为什么不抓住对submitButton进行的click事件,然后在表单中获取值并制作控件,然后向服务器发出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
}