【问题标题】:using jquery submit ($.submit) how to modify the form values before submit?使用 jquery submit ($.submit) 如何在提交前修改表单值?
【发布时间】:2013-07-25 02:07:45
【问题描述】:

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

$('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)我的观点要实现 - 用户在表单提交之前不能看到修改后的值,但需要将修改后的数据发布到后端。

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

提前致谢。

【问题讨论】:

  • 你不能尝试删除后端的字符,而不是在客户端这样做,这样用户就看不到它了吗?

标签: jquery forms http-post form-submit


【解决方案1】:

在你的 AJAX 调用的成功回调函数中试试这个。

$.post('POST_URL', 'MODIFIED_DATA', function(data) { 
    window.location = 'YOUR_NEW_LOCATION';
});

【讨论】:

    【解决方案2】:

    您为什么不直接捕获对 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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多