JavaScript按钮值更改
我是JavaScript新手 我创建了一个简单的下拉列表,每个值都有一个对应的URL。 用户应首先在下拉列表中选择选项,然后单击按钮。单击按钮时,将打开另一个窗口 我的简单下拉代码JavaScript按钮值更改,javascript,Javascript,我是JavaScript新手 我创建了一个简单的下拉列表,每个值都有一个对应的URL。 用户应首先在下拉列表中选择选项,然后单击按钮。单击按钮时,将打开另一个窗口 我的简单下拉代码 <select id="website"> <option value="google">Google</option> <option value="kissasian">Kiss Asian</option>
<select id="website">
<option value="google">Google</option>
<option value="kissasian">Kiss Asian</option>
<option value="stackover">Stackoverflow</option>
<select>
然后按下按钮
<button id="linkBtn">
<a id="link" href="">Website</a>
</button>
当选择一个选项时,我如何将选项中链接的值复制到Javascript中链接元素的href中,以便当我按下按钮时,页面重定向到该URL?正如其他人所提到的,按钮元素中不能有链接 您可以: 把你的按钮放在表格里。您的表单可以有一个onSubmit方法,它可以将您带到下拉列表选择的URL。 有一个按钮和onclick方法做同样的事情。 让你的链接看起来像一个按钮:这可能是最复杂的,所以我跳过这个。 大约:
<script>
function myHandler() {
// get selected value
var e = document.getElementById("website");
var newloc = e.options[e.selectedIndex].value;
window.location = newloc;
return false;
}
</script>
<!-- HTML Method 1 -->
<form onSubmit="myhandler()">
<select id="website">
<option value="http://google.com">Google</option>
<option value="http://kissasian.com">Kiss Asian</option>
<option value="http://stackoverflow.com">Stackoverflow</option>
</select>
<button type='submit' id='linkBtn'>Click to go</button>
</form>
<!-- HTML Method 2 -->
<select id="website">
<option value="http://google.com">Google</option>
<option value="http://kissasian.com">Kiss Asian</option>
<option value="http://stackoverflow.com">StackOverflow</option>
</select>
<button type='button' id='linkBtn' onclick='myHandler()'>Click to go</button>
您可以选择并单击按钮打开下拉列表中选择的值。也不需要在按钮内部添加标签 如果该值应为实际uri,则应在select fropdown上添加onchange事件,以获取可在按钮中更改的选定值和文本。此外,按钮和元素需要有不同的id 函数selectchange{ var值=e.value; var text=e.options[e.selectedIndex].text document.getElementById'link'.href=value; document.getElementById'link'.text=text; } 谷歌 吻亚洲人 栈溢出
不能使用彼此嵌套的两个动作元素,也不能使用相同的ID。 DOM中只能有一个唯一的ID 将事件侦听器附加到select元素。选择一个值,并使用网站数组,其中的键对应于选择选项值 window.onload=函数{ var网站={ “谷歌”:http://google.com', “亚洲之吻”:http://kissasian.com', “stackover”:”http://stackoverflow.com' } var selectWebsite=document.querySelector'website'; var websiteButton=document.querySelector'link'; 选择Website.addEventListenerchange,函数{ var网站=此值; websiteButton.setAttributeRef,网站[网站]; }; }; 谷歌 吻亚洲人 栈溢出
不能使用两个嵌套的动作元素。HTML 101。内部按钮是无效的标记。为什么按钮和具有相同ID的链接?ID在HTML页面中应该是唯一的。欢迎使用SO,rubz。当您发布问题时,您可能希望与我们分享更多的研究成果。我们将尝试提供帮助,但到目前为止您尝试了什么?但是应该只有一个按钮,如何更改按钮的valueurl?这将在下拉列表中获得选定的值,单击该按钮时,它将在新选项卡中打开。您也可以通过选择dropdown来更改值。谢谢,我们将尝试此操作。为什么我们需要在按钮内添加标记,仍然不明白。我有一个问题,我应该将URL放在哪里,www.google.com,kissasian.ch,代码中的stackoverflow.com?在选项标记的值内@rubz@rubz很高兴为您提供帮助。如果答案对您有帮助,您可以勾选标记。您不需要表单来处理按钮单击事件。除非您正在收集表单数据或希望发布某些内容,否则实际上并不需要表单。只需要有一个按钮,类型为button,并添加一个click事件处理程序。是的,正如我输入的第二个方法所示,但有多种方法可以实现。如何做到这一点?方法2可以工作,谢谢!
<button id="link" onclick = "window.open(document.getElementById('website').value)">
</button>