首先,我添加一个包含可选项目的菜单
</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/