Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交表格后获取表格数据,以便进行短缩项目_Javascript_Jquery_Sorting_Form Submit_Ajaxform - Fatal编程技术网

Javascript 提交表格后获取表格数据,以便进行短缩项目

Javascript 提交表格后获取表格数据,以便进行短缩项目,javascript,jquery,sorting,form-submit,ajaxform,Javascript,Jquery,Sorting,Form Submit,Ajaxform,我是javascript/jquery新手。我正在使用表单创建定价排序选项。当用户选择必要的值时,将自动显示推荐的数据包。当我提交整个页面的表单数据时,我已经创建了表单。我没有单独获取表单数据。有人能帮我解决这个问题吗?我将在PHP上使用它。并且表单和产品项在同一页上。我感觉(不是100%确定)您必须有选择地禁用它们,是否需要这样做 jQuery(document).ready(function($){ var frm = $('#pricing_plan_form');

我是javascript/jquery新手。我正在使用表单创建定价排序选项。当用户选择必要的值时,将自动显示推荐的数据包。当我提交整个页面的表单数据时,我已经创建了表单。我没有单独获取表单数据。有人能帮我解决这个问题吗?我将在PHP上使用它。并且表单和产品项在同一页上。

我感觉(不是100%确定)您必须有选择地禁用它们,是否需要这样做

  jQuery(document).ready(function($){
        var frm = $('#pricing_plan_form');
        frm.submit(function (e) {
            e.preventDefault();
            $.ajax({
                type: frm.attr('method'),
                url: frm.attr('action'),
                data: frm,
                success: function (data) {
                    console.log('Submission was successful.');
                    console.log(data);
                },
                error: function (data) {
                    console.log('An error occurred.');
                    console.log(data);
                },
            });
        });
    });
另一件事是,您有一个完整的提交按钮,它将触发原始表单,即使您将在ajax中创建自己的表单,下面的HTML不知道magic JS在背后做什么(以及是否应该停止提交表单)。为了解决这个问题,您可以在不使用有效的HTML提交按钮的情况下生成表单,并且只依赖绑定JS来完成这项工作。将移除

if (your condition) {
   $("#formField").attr("disabled", "disabled");
} else {
   $("#formField").removeAttr("disabled");
}

只需制作一个button类型的按钮(没有双关语),这样就可以在不使用HTML的情况下进行额外的JS黑客操作:



在我的回答中添加了关于原始HTML表单submit按钮的事实。我尝试更改按钮类型。问题是相同的。我得到的是原始转储之类的数据,而不是我在表单上提交的数据。如何通过ajax获得这些数据。它可以解决我的问题,为什么您要附加到表单上的提交事件,而您正试图避免?将它附加到按钮本身的onClick事件中,并确保在函数中返回false,因为返回true将告诉表单是sentI的,我已经通过此操作找到了它。我需要数据,通过这种方式我得到了它。谢谢,然后把你所做的一切写在一个答案中,我认为你可以接受你自己的答案作为解决方案,这样其他有同样问题的人也会得到解决方案
if (your condition) {
   $("#formField").attr("disabled", "disabled");
} else {
   $("#formField").removeAttr("disabled");
}
<input type="submit" value="Submit">
<button type="button|submit|reset">
`               $('#pricing_plan_form').on('submit', function () {
                    var that = $(this),
                        url = that.attr('action'),
                        method = that.attr('method'),
                        data = {};
                    that.find('[name]').each(function ( index, value ) {
                        var that = $(this),
                            name = that.attr('name'),
                            value = that.val();
                        data[name] = parseInt(value);
                    });`