OpenInNewTab函数不适用于按钮ID

时间:2015-12-24 09:40:22

标签: javascript html button onclick

我在点击时尝试获取按钮,在Javascript中打开一个新的标签,其中包含相应的网址ID。我计划使用此功能的多个按钮,并希望他们访问不同的网站(因此需要不同的ID)这里是我的按钮代码和Javascript,但是它是' s不在另一个浏览器中打开:

HTML

<button type="button" id="adbutton" class="adbutton"  nclick="OpenInNewTab()">
    RESERVE NOW
</button>

Javascript:

document.getElementById('.adbutton').onclick = function OpenInNewTab(url) {
    var win = window.open('http://www.example.org');
    win.focus();
}

3 个答案:

答案 0 :(得分:0)

试试这个

当您使用('.adbutton')使用getElementById时,您不需要('adbutton')之类的选择器(点)和您正在调用它的函数,要求(url)作为参数OpenInNewTab(url)你不需要它。如果您没有通过任何使用OpenInNewTab()

 document.getElementById('adbutton').onclick = function OpenInNewTab() {
  var win = window.open('http://www.example.org');
  win.focus();
  }

检查工作演示https://jsfiddle.net/zvj2o7fy/7/我希望这能解决您的问题。

答案 1 :(得分:0)

因为您没有将任何参数传递给函数并且它需要一个,所以在onclick调用中放入(this.id)或(this.href)或其他任何内容

function OpenInNewTab(id){
  alert(id);
var win = window.open('http://www.example.org');
  win.focus();
  }
<button type="button" id="adbutton" class="adbutton" onclick="OpenInNewTab(this.id)">RESERVE NOW</button>

答案 2 :(得分:0)

您需要从

中删除
 document.getElementById('.adbutton')

并将其更改为

document.getElementById('adbutton')

如果您想使用类选择器,则需要将其替换为

document.getElementsByClassName('adbutton')[0].onclick = function OpenInNewTab(url) {
  var win = window.open('http://www.example.org');
  win.focus();
}

WORKING MODEL

由于该按钮已经具有onclick属性,因此您不需要此

document.getElementById('adbutton').onclick

您可以简单地定义功能

function OpenInNewTab(url) {
  var win = window.open('http://www.example.org');
  win.focus();
}

WORKING MODEL 2