我正在使用 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 按预期工作(打开一个包含 objective-c lickTag URL 的新窗口)。但是,通过从选择列表中选择新值来更改 href 后,href 不再打开 objective-c lickTag 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>
关于javascript - 通过选择列表更改的按钮 href 将无法解析(javascript :window. open(window.variable)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38901659/