1

当用户提交一个简单的表单时,我想刷新一个 div。但是我似乎无法找出它为什么不起作用。(这是我第一次使用 JQuery 和 Ajax)

我的脚本:

 <script src="static/jquery.js"></script> 
        <script>
                $('#submit_div').click(function(){
                    var data: $("#name").val();
                    var datastr: 'name='+data;
                    $.ajax{
                        type: "POST",
                        url: $(this),
                        data: datastr,
                        success: function(data){
                            $("#content").replaceWith($('#content'),$(data));
                            }
                    }
                });

        </script>

我的 HTML:

<div id="content">
          <div id="form_div">
            <form method="POST">
                <div id="form"> 
                    <div id="name_div"> name <input type="text" id="name" name="name"/></div>
                    <div id="submit_div">  <button type="submit" id="submit" name="submit">submit</button></div>
                </div>
            </form>
 <div style="clear:both;"></div></div>             

4

5 回答 5

4

错误

var data: $("#name").val();
var datastr: 'name='+data;
$.ajax{...}
$("#content").replaceWith($('#content'),$(data));

固定的

$('#submit_div').click(function(e){
    e.preventDefault();                
    var data = $("#name").val();
    var datastr='name='+data;
    $.ajax({
        type: "POST",
        url: $(this),
        data: datastr,
        success: function(data){
            $("#content").replaceWith(data);
        }
    });
});
于 2012-04-26T09:02:54.557 回答
2

您的代码中存在语法错误。你应该写:

var data = $("#name").val();
var datastr = 'name='+data;
于 2012-04-26T08:58:32.273 回答
1

您是否尝试过 jQuery Load 方法?

http://api.jquery.com/load/

于 2012-04-26T08:56:01.580 回答
0

我认为返回的值数据是你想要替换的(如果我是对的)..然后像这样使用..

$("#content").replaceWith(data);
于 2012-04-26T08:57:57.317 回答
0
$("#form_div form").submit(function(e){
  e.preventDefault();
  var data = $("#name").val();
  $.post('/some/url/file.php',{name: data},function(data){
    $("#content").html(data);
  });
});

您应该处理表单提交事件并阻止它的默认操作。

于 2012-04-26T09:08:50.400 回答