javascript - 放入 Javascript 变量时 HTML 表单不起作用

标签 javascript

我正在这样做:

(function (){
	var ad = document.getElementById("layerad");

    var slide1 = "<form action='' method='get'><p>Toppings</p><p><input name='topping1' type='checkbox' value='c'> Cheese</p><p><input name='topping2' type='checkbox' value='o'> Onions</p><input type='submit' value='Submit'></form>";

	var container = document.getElementById("container");

	container.onclick = function(){
		this.innerHTML = slide1;
	}

	function closeAd(){
		ad.style.display = "none";
	}
	var closeButton = document.getElementById("close");
	closeButton.onclick = closeAd;

	var style = document.createElement("link");
	style.rel = "stylesheet";
	style.href = "style.css";

	parent.document.body.appendChild(layerad);
	parent.document.getElementsByTagName("head")[0].appendChild(style);
})();
<div id="layerad">
    <p id="close">Close[X]</p>
    <div id="container">
      <div id="slide1">
      	<img src="slide1.png">
      </div>	    	     
    </div>
</div>

我需要将表单放入 vars 中,因为最终该表单将来自 JSON 源,但这不是问题,这里的问题是当加载时,我根本无法与表单交互......

有什么想法吗?该产品是一个显示表单的插页式广告。

非常感谢!

最佳答案

container.onclick内添加this.onclick = null;。这将防止每次单击表单时都将其替换。

(function (){
	var ad = document.getElementById("layerad");

    var slide1 = "<form action='' method='get'><p>Toppings</p><p><input name='topping1' type='checkbox' value='c'> Cheese</p><p><input name='topping2' type='checkbox' value='o'> Onions</p><input type='submit' value='Submit'></form>";

	var container = document.getElementById("container");

	container.onclick = function(){
            this.innerHTML = slide1;
            this.onclick = null;
	}

	function closeAd(){
		ad.style.display = "none";
	}
	var closeButton = document.getElementById("close");
	closeButton.onclick = closeAd;

	var style = document.createElement("link");
	style.rel = "stylesheet";
	style.href = "style.css";

	parent.document.body.appendChild(layerad);
	parent.document.getElementsByTagName("head")[0].appendChild(style);
})();
<div id="layerad">
    <p id="close">Close[X]</p>
    <div id="container">
      <div id="slide1">
      	<img src="slide1.png">
      </div>	    	     
    </div>
</div>

关于javascript - 放入 Javascript 变量时 HTML 表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30982179/

相关文章:

javascript - 如何修复[对象,对象]

javascript - 函数构造函数浏览器支持

javascript - 从wordpress视频URL字段中获取Javascript中的值(在JW Player脚本中)

javascript - SVG.js 困难的缩放和重新定位

javascript - 由于源跨源读取阻止 (CORB),JSON API 无法通过 fetch 进行检索

javascript - D3.js - 补间弧位置,内半径和外半径 - D3.js Arc

javascript - 在 JavaScript 中捕获特定异常

javascript - Bootstrap tabbable 和 popover 之间的冲突

javascript - 使用js或jquery重启转场效果

javascript - 如何在 Winstonjs 记录器中记录未处理的超时错误?