2011-02-03 52 views
0

我有以下脚本。我想POST数据并将其插入到数据库中,jQuery执行得很好,但不发布任何内容,该操作正常工作,因为当我发布没有脚本的数据时,数据帖子正常并被插入到数据库很好,没有任何错误,所以看起来好像jquery函数没有发布任何内容。有人可以帮忙吗?问题发布数据与jQuery提交()

$('#form').live('submit',function(){ 
    $('#form').fadeOut('slow'); 
    $('#div').append("<h2>submittes</h2>"); 
    return false; 
    }); 


<form id="form" method="post" action="execute.php" name="form"> 
<textarea id="text" name="update"></textarea> 
<br> 
<input type="submit" value="update" id="update-submit"> 
</form> 

编辑:

$('#form').live('submit',function(){ 
var updateTextArea = $('#textarea').val(); 
$.ajax({ 
    type: "POST", 
    url: "execute.php", 
    data: updateTextArea, 
    success: function() { 
    $('#form').fadeOut('slow'); 
    $('#div').append("<h2>updated</h2>"); 
    } 
    }); 
    return false; 
    }); 

这就是我对AJAX,但我仍然没有任何成功。

回答

2

您的javascript中没有任何AJAX调用。你只是淡出表单,附加h2,并防止发生默认操作(这将正常提交表单)。

下面是如何创建一个POST Ajax请求一个基本的例子:

$('#form').submit(function(){ 
    $.post($(this).attr('action'), { update: $(this).find('#text).val() }, function(){ 
    // success 
    }); 
}); 

结帐jQuery的API /文档以获取更多的信息。如何做到这一点,还有几十个教程围绕着网络潜伏着。

+0

K,以及我曾尝试创建Ajax功能,在发送数据,但我的行动网页寻找一个名为更新变量后,我怎么能确保该变量是通过名称更新 – mcbeav 2011-02-03 06:02:54

1

好了,从事件处理函数返回false,你触发了两两件事:

  • 防止默认动作(.preventDefault()
  • 停止事件传播(.stopPropagation()

这阻止提交发生。

您需要在提交事件处理程序中自行传输数据。例如,创建一个将表单数据序列化并将其发送到服务器的ajax请求。

可能看起来像:

$('#form').live('submit',function(){ 
    $('#form').fadeOut('slow'); 
    $('#div').append("<h2>submittes</h2>"); 

    $.post('execute.php', $(this).serialize(), function(data) { 
     // do something after success 
    }); 
    return false; 
});