Button href changed by select list won't resolve (javasc
Button href changed by select list won't resolve (javascript:window.open(window.variable))
我正在使用javascript成功地根据用户从选择列表中的选择更改按钮的href。然而,href值是一个javascript变量,它已经被我的代码改变后无法解决。
代码如下:
var clickTag1 = "http://www.myexampledomain.com/test-1";
var clickTag2 = "http://www.myexampledomain.com/test-2";
var clickTag3 = "http://www.myexampledomain.com/test-3";
var clickTag4 = "http://www.myexampledomain.com/test-4";
(function() {
var form = document.forms['swiftForm'];
//document.getElementById('cT_target').href = 'javascript:window.open(window.' + this.value + ')';
var trigger = document.getElementById('cT_toggle');
trigger.onchange = function() {
var link = document.getElementById('cT_target');
link.href = 'javascript:window.open(window.' + this.value + ')';
}
})();
<form id="swiftForm">
<div class="styledSelect">
<select name="cT_toggle" id="cT_toggle">
<option value="clicktag1">2 meters</option>
<option value="clicktag2">4 meters</option>
<option value="clicktag3">6 meters</option>
<option value="clicktag4">8 meters</option>
</select>
</div>
<div class="swiftSubmit">
<a id="cT_target" href="javascript:window.open(window.clickTag1)">Calculate</a>
</div>
</form>
在页面加载时,按钮href按预期工作(打开一个包含目标clickTag URL的新窗口)。但是,在通过从选择列表中选择一个新值来更改href之后,href不再打开目标clickTag URL,而只是打开一个空窗口。问题似乎是javascript变量值(clickTag)在页面HTML中更改后不再评估的事实。
我想知道是否有一些技巧我错过了?
Javascript是区分大小写的,select的值应该匹配变量
的名称改变<select name="cT_toggle" id="cT_toggle">
<option value="clicktag1">2 meters</option>
<option value="clicktag2">4 meters</option>
<option value="clicktag3">6 meters</option>
<option value="clicktag4">8 meters</option>
</select>
<select name="cT_toggle" id="cT_toggle">
<option value="clickTag1">2 meters</option>
<option value="clickTag2">4 meters</option>
<option value="clickTag3">6 meters</option>
<option value="clickTag4">8 meters</option>
</select>
更改<select>
元素中的值以匹配变量名称
<select name="cT_toggle" id="cT_toggle">
<option value="clickTag1">2 meters</option>
<option value="clickTag2">4 meters</option>
<option value="clickTag3">6 meters</option>
<option value="clickTag4">8 meters</option>
</select>
最好的方法不是对C_Toggle进行onchange操作,而是在链接上触发一个函数,该函数将以C_Toggle的选定值重定向文档
相关文章:
- 函数参数在内部不可见,返回新的Promise(函数(resolve,reject).传递给被promise化的函数的
- 拒绝在框架中显示,因为它设置了'X-Frame-Options'到'拒绝'在JavaSc
- Native/$q Javascript For Loop Promise Resolve
- Angular UI Router Resolve在AJAX完成之前未阻止状态更改
- deferred.resolve()获胜't决心
- Yield does not resolve Promise node.js
- Grunt Browserify-require.resolve不是函数
- 我可以'Don’我不想让我的程序继续下去;m使用document.write,因为它在html中使用JavaSc
- 使用deferred.resolve(Value)返回给my.then()的值未定义
- Angular ui-router resolve promise给出了无限的摘要循环
- AngularJS + Routing + Resolve
- q.defer deferred.resolve is deprecated
- Separate pipe() and $.Deferred.resolve()
- webpack 1:resolve.alias 不将一个 npm 模块别名到另一个 npm 模块
- tizen.filesystem.resolve() error - 对象的内容不包含有效值
- Promise.resolve() / Backbone 中的上下文
- 返回值和 Promise.resolve 从 then() 有什么区别
- Promise.resolve().then vs setImmediate vs nextTick
- $resolve在创建控制器之前不会添加到$scope
- Button href changed by select list won't resolve (javasc