1

我有这样的HTML:

<form>
<div id="to_receive_data">
</div>
</form>

像这样的Javascript:

$("#to_receive_data").load("./loadable/a_form_to_load.php");

当 .load() 完成时,DOM 显示:

<form>
</form>
<div id="to_receive_data">
<input name="data_from_ajax" value"help_i_need_a_form"/>
</div>

如您所见,div 已移到元素之外。

当我按下提交时,操作页面没有收到任何参数。这里有我不知道的 .load() 怪癖吗?

4

2 回答 2

0

.load() 方法从服务器加载数据并将返回的 HTML 放入匹配的元素中。有些函数支持类似的功能,如 .load()。请参考以下功能。

  • $.ajax
  • $.post
  • $.get

您可以使用上述任一功能。

请参考下面的例子来实现。

$.ajax({
  type: 'POST',
  url: './loadable/a_form_to_load.php',
  data: data,
  dataType: dataType,
  success: function (data){
     $("#to_receive_data").html(data);
  }
});

否则,如果您想要更简化的版本,也可以试试这个。

$.post('./loadable/a_form_to_load.php', function(data) {
  $("#to_receive_data").html(data);
});

希望这会帮助你。如果您有任何问题,请随时提问。谢谢

于 2012-09-27T05:22:35.883 回答
0

您假设您收到的数据是有效的,您可以尝试这样的事情并绕过加载方法。

$.ajax({
    url: "form.php",
    dataType: "text",
    type: "GET",
    success: function (data){
         //manually insert the page
         $("#to_receive_data").html(data);
    }
});
于 2012-09-27T02:03:39.063 回答