Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-动态变量赢得';t更新-什么';问题是什么?_Javascript_Html_Custom Data Attribute_Dynamic Variables - Fatal编程技术网

JavaScript-动态变量赢得';t更新-什么';问题是什么?

JavaScript-动态变量赢得';t更新-什么';问题是什么?,javascript,html,custom-data-attribute,dynamic-variables,Javascript,Html,Custom Data Attribute,Dynamic Variables,背景 大家好,首先谢谢你们的帮助。这个问题已经困扰了我很长一段时间了,我就是想不出来 在某些背景下,我正在创建一个链接到存储电影海报的db的页面。这个页面允许我根据两个因素检索特定的电影海报:通过的电影ID和海报大小 细节 我试图将数据pppubid的值更改为Publisher-ID(在本例中为King-Kong)的输入。我还想对数据pp placementtype做同样的事情,从我的下拉框中填充数据pp placementtype 如果我在html中使用静态信息,这是可行的。但是,我希望创建动

背景 大家好,首先谢谢你们的帮助。这个问题已经困扰了我很长一段时间了,我就是想不出来

在某些背景下,我正在创建一个链接到存储电影海报的db的页面。这个页面允许我根据两个因素检索特定的电影海报:通过的电影ID和海报大小

细节

我试图将数据pppubid的值更改为Publisher-ID(在本例中为King-Kong)的输入。我还想对数据pp placementtype做同样的事情,从我的下拉框中填充数据pp placementtype

如果我在html中使用静态信息,这是可行的。但是,我希望创建动态变量,以避免不断编辑html文件的麻烦。这就是我到目前为止得到的

<div>
 <form>
    <select id="generic_size" name="Poster Size">
            <option value="120x90">120x90</option>
            <option value="120x240">120x240</option>
            <option value="120x600">120x600</option>
            <option value="150x100">150x100</option>
            <option value="170x100">170x100</option>
            <option value="190x100">190x100</option>
            <option value="234x400">234x400</option>
            <option value="234x60">234x60</option>
            <option value="250x250">250x250</option>
            <option value="280x280">280x280</option>
            <option value="300x50">300x50</option>
            <option value="300x250">300x250</option>
            <option value="468x60">468x60</option>
            <option value="540x200">540x200</option>
            <option value="720x90">720x90</option>
            <option value="800x60">800x60</option>
    </select>

Publisher ID: <input type="text" value="King Kong" id="movieId">
 <input type="submit" value="Get poster" 
  onclick="javascript:getMovInfo(); setSize(); getPoster();";>
</form>
</div>

        <script type="text/javascript" data-pp-pubid="Mad Max" data-pp-placementtype="120x240"> (function getPoster(d, t) {
        "use strict";
        var s = d.getElementsByTagName(t)[0], n = d.createElement(t);
        n.src = "//movietime.adtag.now.com/merchant.js";
        s.parentNode.insertBefore(n, s);
        }(document, "script"));
        </script>

<script type="text/javascript">

 function getMovInfo() {
  var movRetrieve= document.getElementById("movieId").value;
  var movInfo = document.getElementsByTagName("script")[2];
  var movSet = movInfo.setAttribute("data-pp-pubid", movRetrieve);
  }

 function setSize (){
  var sizeDropDown= document.getElementById("generic_size");
  var sizeSelected= sizeDropDown.options[sizeDropDown.selectedIndex].value;
  var sizeInScript = document.getElementsByTagName("script")[2];
  var newSize = sizeInScript.setAttribute("data-pp-placementtype", sizeSelected);
 }
</script>

120x90
120x240
120x600
150x100
170x100
190x100
234x400
2340x60
250x250
280x280
300x50
300x250
468x60
540x200
720x90
800x60
发布者ID:
(d、t功能){
“严格使用”;
var s=d.getElementsByTagName(t)[0],n=d.createElement(t);
n、 src=“//movietime.adtag.now.com/merchant.js”;
s、 parentNode.insertBefore(n,s);
}(文件,“脚本”);
函数getMovInfo(){
var movRetrieve=document.getElementById(“movieId”).value;
var movInfo=document.getElementsByTagName(“脚本”)[2];
var movSet=movInfo.setAttribute(“数据pp pubid”,movRetrieve);
}
函数setSize(){
var sizeDropDown=document.getElementById(“通用大小”);
var sizeSelected=sizeDropDown.options[sizeDropDown.selectedIndex].value;
var sizeInScript=document.getElementsByTagName(“脚本”)[2];
var newSize=sizeInScript.setAttribute(“数据pp placementtype”,sizeSelected);
}

再次感谢,这是我的第一篇帖子

好的,那么您应该将html数据转换为代码中的一些数据。阵列[“300x50”,…]将完成此任务。然后你必须用数据填充你的选择。

为什么不起作用?你说不起作用是什么意思?我设置了这个plunker,它似乎起作用了。变量被更改,但我需要用新变量和位置重新加载页面。reload();似乎没有做到这一点首先:为什么在函数“getPoster”中使用“d”、“t”参数而从不使用它们?下一步:在一个地方,您直接使用全局可用的“document”对象,在函数中,您希望文档作为参数传递。对可能的问题有什么想法吗?我不明白?正在填充数据。页面只是没有重新加载动态变量