研究一个简单的HTMLElement包装器的想法我偶然发现了Internet Explorer和Chrome的以下内容:
对于DOM树中具有ID的给定HTMLElement,可以使用其ID作为变量名来检索div.所以对于一个喜欢的div
<div id="example">some text</div>
Run Code Online (Sandbox Code Playgroud)
在Internet Explorer 8和Chrome中,您可以执行以下操作:
alert(example.innerHTML); //=> 'some text'
Run Code Online (Sandbox Code Playgroud)
要么
alert(window['example'].innerHTML); //=> 'some text'
Run Code Online (Sandbox Code Playgroud)
那么,这是否意味着DOM树中的每个元素都转换为全局命名空间中的变量?它是否也意味着可以使用它作为getElementById这些浏览器中方法的替代品?
我正试图通过带有ajax的post将数据传递给我的sendjs.php.
jsonObj 没有在IE11中传递(没有测试IE的较低版本,但它适用于Edge和所有其他浏览器).FormData并且captchaResponse正在通过.
在IE 11检查器的"网络"中,帖子数据为:
cart: [null] 并且控制台中没有显示错误.
它包含所有其他浏览器的数据:
例如. cart: {name: "130 Litre Polypropylene Soakwells", price: "$39.95", quantity: "4", total: "$159.80"},…]
现场网站:www.diysoakwells.com.au(您可以添加项目和结帐以进行测试).
花了很多年才试图找到原因,现在我甚至不确定从哪里开始说实话,所以任何信息都会受到赞赏,我会根据要求更新帖子.
app.js
$(function() {
// Get the form.
var form = $("#ajax-contact");
// Get the messages div.
var formMessages = $("#form-messages");
var spinner = $("#spinner");
var submit = $("#submit");
// Set up an event listener for the contact form.
$(form).submit(function(e) {
// Stop the browser from submitting the form.
e.preventDefault();
//display …Run Code Online (Sandbox Code Playgroud)