jQuery .load()不会将数据加载到<form> </form>中

时间:2012-09-27 00:25:10

标签: javascript jquery html

我有这样的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()怪癖吗?

2 个答案:

答案 0 :(得分:0)

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

$.ajax({
    url: "form.php",
    dataType: "text",
    type: "GET",
    success: function (data){
         //manually insert the page
         $("#to_receive_data").html(data);
    }
});

答案 1 :(得分:0)

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

  • $。ajax
  • $ .post
  • $。获得

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

请参考以下示例进行实施。

$.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);
});

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