将元素ID传递给Javascript函数
我已经看到许多与我的问题标题相关的帖子 以下是HTML代码:将元素ID传递给Javascript函数,javascript,html,Javascript,Html,我已经看到许多与我的问题标题相关的帖子 以下是HTML代码: <button id="button1" class="MetroBtn" onClick="myFunc(this.id);">Btn1</button> <button id="button2" class="MetroBtn" onClick="myFunc(this.id);">Btn2</button> <button id="button3" class="MetroB
<button id="button1" class="MetroBtn" onClick="myFunc(this.id);">Btn1</button>
<button id="button2" class="MetroBtn" onClick="myFunc(this.id);">Btn2</button>
<button id="button3" class="MetroBtn" onClick="myFunc(this.id);">Btn3</button>
<button id="button4" class="MetroBtn" onClick="myFunc(this.id);">Btn4</button>
你可以从中看到
问题是:
我不知道,可能没有将这个.id
传递到myFunc
函数,或者其他一些问题
有什么问题吗
如果您有任何帮助,我们将不胜感激。请检查:
您应该将左上角的JSFIDLE更改为无换行符
您的代码看起来不错,可以在普通页面中运行。在JSFIDLE中,您的函数是在加载处理程序中定义的,因此位于不同的作用域中。通过更改为“不换行”,您可以在全局范围内使用它,并且可以根据需要使用它。在JSFIDLE中,默认情况下,您在脚本块中键入的代码会换行到在window.onload上执行的函数中
<script type='text/javascript'>//<![CDATA[
window.onload = function () {
function myFunc(id){
alert(id);
}
}
//]]>
</script>
因此,该函数在全局范围内,可用于html按钮。这将起作用:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function myFunc(id)
{
alert(id);
}
</script>
</head>
<body>
<button id="button1" class="MetroBtn" onClick="myFunc(this.id);">Btn1</button>
<button id="button2" class="MetroBtn" onClick="myFunc(this.id);">Btn2</button>
<button id="button3" class="MetroBtn" onClick="myFunc(this.id);">Btn3</button>
<button id="button4" class="MetroBtn" onClick="myFunc(this.id);">Btn4</button>
</body>
</html>
函数myFunc(id)
{
警报(id);
}
Btn1
Btn2
Btn3
Btn4
对我来说,问题很简单,就是不熟悉Javascript。我试图使用双引号传递id的名称,而我本应该使用单引号。而且效果很好
这起到了作用:
validateSelectizeDropdown('#PartCondition')
这并没有:
validateSelectizeDropdown("#PartCondition")
以及功能:
function validateSelectizeDropdown(name) {
if ($(name).val() === "") {
//do something
}
}
你可以用这个
<html>
<head>
<title>Demo</title>
<script>
function passBtnID(id) {
alert("You Pressed: " + id);
}
</script>
</head>
<body>
<button id="mybtn1" onclick="passBtnID('mybtn1')">Press me</button><br><br>
<button id="mybtn2" onclick="passBtnID('mybtn2')">Press me</button>
</body>
</html>
演示
函数passBtnID(id){
警报(“您按下:“+id”);
}
按我
按我
拿起你的小提琴,改变了一件事,成功了:@MisterBla你改变了什么?它看起来一模一样。另外,最好在这里包含代码,不要依赖第三方网站。@Yossarian,什么代码?我没有更改代码,他只是忘了在JSFIDLE中添加“no wrap”。@Sergio在我的例子中,如果我单击设置为显示id的按钮,屏幕截图:代码:在我的例子中,如果我单击设置为显示id的按钮,屏幕截图:代码:
function validateSelectizeDropdown(name) {
if ($(name).val() === "") {
//do something
}
}
<html>
<head>
<title>Demo</title>
<script>
function passBtnID(id) {
alert("You Pressed: " + id);
}
</script>
</head>
<body>
<button id="mybtn1" onclick="passBtnID('mybtn1')">Press me</button><br><br>
<button id="mybtn2" onclick="passBtnID('mybtn2')">Press me</button>
</body>
</html>