javascript - 通过选择列表更改的按钮 href 将无法解析(javascript :window. open(window.variable))

标签 javascript html select window.open

我正在使用 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/

相关文章:

javascript - 有没有测试 Exchange 连接的方法?

javascript - 如何在幻灯片加载时更改事件元素的 CSS 属性

javascript - 获取元素相对于页面底部的位置

html - 全局 <td> 标签在后台写入 <tr> 标签中指定的类

javascript - 如何仅在 HTML 中按住键时播放视频

mysql - 如何查找 GPS 跟踪器数据中断的开始和停止?

MySQL:从一列中选择包含值的多行

javascript - 正则表达式仅在 "asdf:adsf"中查找冒号,但在 "asdf: adsf"中查找不到

使用默认值的层次结构进行 SQL 选择

html - 子目录和文件的自动图标