javascript - 当我传递参数时,从动态添加的 html 按钮调用 javascript 函数失败

标签 javascript jquery html ajax

首先,我添加一个包含可选项目的菜单

</style>
<div id='form'><select id="mySelect" multiple="multiple" onclick="myFunction()">
  <option value="1">Please select a Form type</option>
  <option value="2">Second</option>
  <option value="3">Third</option>
  <option value="4">Fourth</option>
</select></div>

如果我选择第二项,则会有一些 JavaScript 代码运行并将 html 代码动态添加到页面。正如你所看到的,html 代码中有一个提交按钮,它调用另一个 javascript 函数,即 setType();

<script type="text/javascript"> 
var foo = document.getElementById('mySelect');
var param1;
var param2;
var param3;
function myFunction(){
    if (foo)
    {
       if (foo.selectedIndex != null )
       {
           if(foo.selectedIndex>'0')
            {

                if(foo.selectedIndex == '1'){
                    //cargamos formulario 1

                    var newElement ="<div id='div1'>Advertiser ID<input type='text' name='Avertiser' value='Advertiser'><br><input type='submit' value='Submit advertiser' onClick='setType('Advertiser')';></div><div id='div2'>Offer: <input type='text' name='Offer' value='Offer'><br><input type='submit' value='Submit Offer'></div><div id='div3'>Date: <input type='text' name='Date' value='Date'><br><input type='submit' value='Submit Date'></div>";
                    var bodyElement = document.body;
                    bodyElement.innerHTML = newElement + bodyElement.innerHTML;
                    document.body.insertAdjacentHTML("" );
                //  ("Advertiser Id: <input type='text' name='AD' value='AD'><br><input type='submit' value='SubmitAD'>Offer: <input type='text' name='Offer' value='Offer'><br><input type='submit' value='SubmitOffer'>Date: <input type='text' name='Date' value='Date'><br><input type='submit' value='Date'>");                    
                }
                if(foo.selectedIndex == '2'){
                    //cargamos formulario 2

                }
                if(foo.selectedIndex == '3'){
                    //cargamos formulario 3

                }
           }
       } 
    }
}

我的问题是我想将广告商值作为参数传递到这个 javascript 函数中,将其存储在全局变量中,并且当三个提交按钮参数位于其变量中时,然后对另一个文件进行 ajax 调用。我的问题是当我使用参数调用 javascript 函数时,它不会运行。没有参数的作品。我不明白这个问题。

function setType(id){
    alert('ok');
}

最佳答案

检查您的“”:) 'setType('Advertiser')' 是错误代码,请尝试

onClick="setType('Advertiser')"

并且在 HTML 中,属性中始终使用 "",而不是 ''!!!

关于javascript - 当我传递参数时,从动态添加的 html 按钮调用 javascript 函数失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33288151/

相关文章:

javascript - 单击不是函数错误

javascript - 如何将 winston 日志文件保存到 mysql 数据库中?

javascript - 隐藏只有 1 个选项的下拉菜单?

javascript - 如何在 Chrome 之外操作 object.style.animationDuration?

javascript - 从许多相同的元素中单击时更改 HTML 选择标签

html - div定位: absolute,相对等

javascript - Qualtrics - 允许保留受访者输入的零,但清除其余部分

javascript - Chrome 扩展程序的跟踪 URL

Javascript格式化日期数组

jquery - 如何设置视频 iFrame 的样式?