Jquery发布然后立即在同一页面上显示发布的数据

时间:2010-06-25 13:04:43

标签: jquery ajax http-post

如何使用ajax发布数据并在同一页面上的div中显示发布的数据而不刷新页面?

3 个答案:

答案 0 :(得分:6)

要做到这一点,你不应该提交表单,而是通过点击事件捕获表单数据,通过AJAX提交数据,最后一件事......将数据输入DIV元素。 E.g。

<强>的jQuery

$("#submitdata").click(function() {
  var FormVal={ datafield1:$('#field1').val(),
                datafield2:$('#field2').val()};

  $.ajax({
    type: "POST",
    url: "myupdatepage.cfm",
    dataType: "json",
    data: FormVal,
    async: false,
    success: function(response) { 
               $('#fillmein').html($('#field1').val()+'<br />'+$('#field1').val()); // Assign the values to the DIV
             }
  });
});

<强> HTML

<form action="">
  <input type="text" id="field1">
  <input type="text" id="field2">

  <input type="button" id="submitdata" value="Submit data" />
</form>

<div id="fillmein"></div>

答案 1 :(得分:0)

最好的jquery表单插件http://jquery.malsup.com/form/甚至可以上传文件 - ajaxed

答案 2 :(得分:0)

尝试这样的标记...

<form action="http://google.co.uk/search" method="get" onsubmit="postTheForm(this); return false;">
    <input type="hidden" name="q" value="Stackoverflow"/>
    <input type="submit" value="Click here"/>
</form>
<div id="postResults"></div>

使用这样的脚本......

function postTheForm(theForm){
    $.post(
        theForm.action, 
        $(theForm).serializeArray(), 
        function(data, textStatus, xmlHttpRequest){
            $("#postResults").html(data);
        }
    );
}

此示例使用GET方法,但这只是因为Google不接受POST - 但是principple应该让您工作,然后您可以更改为POST(假设POST适合您的情况)