首先,我添加一个带有可选项目的菜单
-b
如果我选择第二项,则会运行一些javascript代码,并将html代码以动态方式添加到页面中。正如您所看到的,html代码中有一个提交按钮,它调用另一个javascript函数,即setType();
</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函数中,将其存储在全局变量中,当三个提交按钮参数位于其变量中时,然后对另一个文件进行ajax调用。我的问题是当我用param调用javascript函数时,它不会运行。没有params的作品。我不明白这个问题。
<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
}
}
}
}
}
答案 0 :(得分:0)
此'setType('Advertiser')'
无效,请尝试'setType(\"Advertiser\")'
这是一个有效的fiddle
答案 1 :(得分:0)
检查你的&#34;&#34; :) 'setType('Advertiser')'
是错误的代码,请尝试
onClick="setType('Advertiser')"
并且在HTML中总是在属性中使用""
,而不是''
!!!