Ajax Chrome删除.innerHTML插入中的表单标记

Ajax Chrome删除.innerHTML插入中的表单标记,ajax,jquery,asp.net-ajax,Ajax,Jquery,Asp.net Ajax,我有一些mvc框架可以扩展我的.net应用程序。他们的任务主要是向.net应用程序接口提供部分内容 有趣的是,铬条是非常必要的 下面是我如何从框架中获取和呈现数据 $.ajax({ url: "/mvc/UserProfile/AddressForm?datatype=shipping", dataType: "text", // text html script method: "get", cache: false, success: function

我有一些mvc框架可以扩展我的.net应用程序。他们的任务主要是向.net应用程序接口提供部分内容

有趣的是,铬条是非常必要的 下面是我如何从框架中获取和呈现数据

$.ajax({
    url: "/mvc/UserProfile/AddressForm?datatype=shipping",
    dataType: "text", // text html script
    method: "get",
    cache: false,
    success: function (data) {

        console.log(data);

        //var userProfileAdd = document.getElementById("userProfileAdd");
        var userProfileAdd = $("#userProfileAdd")[0];
        userProfileAdd.innerHTML = "<div>" + data + "</div>";
    }
});
$.ajax({
url:“/mvc/UserProfile/AddressForm?数据类型=配送”,
数据类型:“text”,//文本html脚本
方法:“获取”,
cache:false,
成功:功能(数据){
控制台日志(数据);
//var userProfileAdd=document.getElementById(“userProfileAdd”);
var userProfileAdd=$(“#userProfileAdd”)[0];
userProfileAdd.innerHTML=“+数据+”;
}
});
Firefox、IE等确实可以检索所有数据。有人知道为什么chrome会这样吗

谢谢

编辑

这是发送到console.log打印的数据变量的代码

<script src="/scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>

<form OnSubmit="return false;" action="/mvc/UserProfile/AddressFormPost" id="frmUserAddress" method="post"><div class="validation-summary-valid" id="validationSummary"><ul><li style="display:none"></li>
</ul></div>
<input name="__RequestVerificationToken" type="hidden" value="8Vkd039Wc3825G6CTEomJ/aXfrCyjuEY3sV/ty4znHi9yO0Th535p8VNxqvBwhJ12AREQhvTMhRVNEO6Ke3O87jDAjREg3I3dFYp2Y5geutbEOLk6KHmn6hLb4a5CFaZ3uCOm8uYgr/U4au33yaUFw==" />


<div>
    Select country:
    <select id="Countries" name="Countries"><option value="029">Caribbean</option>
        <option value="AE">U.A.E.</option>
        <option value="AF">Afghanistan</option>
        <option value="AL">Albania</option>
        <option value="AM">Armenia</option>
        <option value="AR">Argentina</option>
    </select>
</div>

<div>
    Postal Code
    <input class="formField textBox" id="PostalCode" name="PostalCode" type="text" value="" />
    <span class="field-validation-valid" id="PostalCode_validationMessage"></span>
</div>


<div>
    City
    <input class="formField textBox" id="City" name="City" type="text" value="" />
    <span class="field-validation-valid" id="City_validationMessage"></span>
</div>

<div>
    State
    <input class="formField textBox" id="State" name="State" type="text" value="" />
    <span class="field-validation-valid" id="State_validationMessage"></span>
</div>


<div>
    First name
    <input class="formField textBox" id="FirstName" name="FirstName" type="text" value="" />
    <span class="field-validation-valid" id="FirstName_validationMessage"></span>
</div>

<div>
    Email
    <input class="formField textBox" id="Email" name="Email" type="text" value="" />
    <span class="field-validation-valid" id="Email_validationMessage"></span>
</div>
<div>
    <input type="submit" value="Send!" id="btnAddressForm" class="button" />
</div>

</form><script type="text/javascript">
//<![CDATA[
if (!window.mvcClientValidationMetadata) { window.mvcClientValidationMetadata = []; }
window.mvcClientValidationMetadata.push({"Fields":[{"FieldName":"PostalCode","ReplaceValidationMessageContents":true,"ValidationMessageId":"PostalCode_validationMessage","ValidationRules":[{"ErrorMessage":"Please enter your postal code","ValidationParameters":{},"ValidationType":"required"}]},{"FieldName":"City","ReplaceValidationMessageContents":true,"ValidationMessageId":"City_validationMessage","ValidationRules":[{"ErrorMessage":"Please enter your city","ValidationParameters":{},"ValidationType":"required"}]},{"FieldName":"State","ReplaceValidationMessageContents":true,"ValidationMessageId":"State_validationMessage","ValidationRules":[{"ErrorMessage":"Please enter your state","ValidationParameters":{},"ValidationType":"required"}]},{"FieldName":"FirstName","ReplaceValidationMessageContents":true,"ValidationMessageId":"FirstName_validationMessage","ValidationRules":[{"ErrorMessage":"Please enter your first name","ValidationParameters":{},"ValidationType":"required"}]},{"FieldName":"Email","ReplaceValidationMessageContents":true,"ValidationMessageId":"Email_validationMessage","ValidationRules":[{"ErrorMessage":"Please enter your first name","ValidationParameters":{},"ValidationType":"required"}]}],"FormId":"frmUserAddress","ReplaceValidationSummary":false,"ValidationSummaryId":"validationSummary"});
//]]>
</script>

选择国家: 加勒比海的 阿联酋。 阿富汗 阿尔巴尼亚 亚美尼亚 阿根廷 邮政编码 城市 陈述 名字 电子邮件 //
如果周围有表单元素,Chrome将去掉表单元素。只要表单标签消失,它的所有内容都会保留下来


检查以确保“userProfileAdd”的父节点不是表单。

如果存在周围的表单元素,Chrome将删除表单元素。只要表单标签消失,它的所有内容都会保留下来


检查以确保“userProfileAdd”没有作为表单的parentNode。

是否有包含此代码的联机示例页面?这样我们可以测试您的代码。可能您发布的html无效?您是否也可以发布userProfileAdd的内容。userProfileAdd只是一个空div,我在其中放置内容,您是否有包含此代码的联机示例页面?这样我们可以测试您的代码。可能您发布的html无效?您是否也可以发布userProfileAdd的内容。userProfileAdd只是一个空div,我在其中放置内容,有趣的是,如果我一次粘贴多个表单(使用
jQuery.html()
),它只会剥离第一个表单标记。就像@Leksat所说的:这似乎是一个错误行为,有趣的是,如果我一次粘贴多个表单(使用
jQuery.html()
),它只会剥离第一个表单标记。就像@Leksat所说的:这似乎是一个错误行为,到今天仍然如此。