Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 jQuery Ajax发布表单未发布_Javascript_Jquery_Ajax_Forms - Fatal编程技术网

Javascript jQuery Ajax发布表单未发布

Javascript jQuery Ajax发布表单未发布,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我不知道为什么我的表单没有发布,而是重新加载页面 我可以用$.ajax({type:GET})实现这一点。但是我觉得这样做不对,因为我的脚本都将数据发布到数据库中 我还尝试将$('#status form').serialize()和'status='+status\u值添加到$.ajax({data:})。但是不起作用。只刷新页面,不向数据库提交任何内容 以下是我的jQuery: $(document).on('click', '.edit',function() { var proj

我不知道为什么我的表单没有发布,而是重新加载页面

我可以用
$.ajax({type:GET})
实现这一点。但是我觉得这样做不对,因为我的脚本都将数据发布到数据库中

我还尝试将
$('#status form').serialize()
'status='+status\u值添加到
$.ajax({data:})
。但是不起作用。只刷新页面,不向数据库提交任何内容

以下是我的jQuery:

$(document).on('click', '.edit',function() {
    var project_id_value=$(this).closest('tr').find('.project_id').text();
    $('#popup').show();
    $('#popup').load('scripts/form.php');

$(document).on('click',".bttt", function(){
    var status_value=$('#status option:selected').val();
    var formData = $('#status-form').serialize();
    $.ajax({
        type:POST,
        url:'scripts/change-status.php?project_id=' + project_id_value,
        data:formData,
        success: function(data){
            alert(data)},
        });
    });
return false;
});
表格:


1.
2.
3.
4.
关闭
你好
编辑:

我已经纠正了打字错误。还有同样的问题吗

解决方案:


我找到了解决这个问题的方法,为什么浏览器使用刷新而不执行任何操作。因为我使用的是firefox,firefox将表单中的任何按钮都作为提交按钮。当我单击按钮时,它被用来在到达$.ajax({success:})之前发布表单。我要做的是给按钮一个
type=“button”

类型必须表示为字符串。因此,它是
类型:“POST”

只需提交表单,下面的代码就可以了

$(document).on('click',".bttt", function(){
    var status_value=$('#status option:selected').val();
    var formData = $('#status-form').serialize();
    var project_id_value = 123;
    $.ajax({
        type:'POST',
        url:'change-status.php?project_id=' + project_id_value,
        data:formData,
        success: function(data){
            alert(data);
        }
    });
    return false;
});

你的PHP与你的问题无关。请发布呈现的HTML,而不是PHP源代码。您确定控制台中没有显示错误吗?嵌套的click函数是导致此问题难以解决的原因之一。控制台中没有显示错误。我看不到网络活动,因为页面在单击按钮后重新加载。添加错误:函数(xhr,状态,消息){alert(message);}或
method:“POST”
用于最新的jquery版本。此外,我在成功时没有收到任何警报
$(document).on('click',".bttt", function(){
    var status_value=$('#status option:selected').val();
    var formData = $('#status-form').serialize();
    var project_id_value = 123;
    $.ajax({
        type:'POST',
        url:'change-status.php?project_id=' + project_id_value,
        data:formData,
        success: function(data){
            alert(data);
        }
    });
    return false;
});