如何将参数值设置为“a”;onClick";使用javascript或jquery的函数
我正在尝试使用如何将参数值设置为“a”;onClick";使用javascript或jquery的函数,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用javascript将参数设置为onClick事件(在html按钮中) 这就是html按钮的外观: <button type="button" id="upload-button" onclick="uploadFileIGCSE('param1', 'param2', 'param3')" class="btn btn-success" aria-expanded="false">Upload</button> 我不知道如何将值设置为param1,par
javascript
将参数设置为onClick
事件(在html按钮中)
这就是html
按钮的外观:
<button type="button" id="upload-button" onclick="uploadFileIGCSE('param1', 'param2', 'param3')" class="btn btn-success" aria-expanded="false">Upload</button>
我不知道如何将值设置为param1
,param2
,param3
这是我试过的,但感觉不对
$('#upload-button').val = $('#year').val;
有人能帮我吗
我需要使用javascript
或jquery
为函数uploadFileIGCSE('param1','param2','param3')
中的参数(param1,param2,param3)设置值
谢谢你,我能理解你的需要。如果您真的只想使用HTML元素来实现这一点,那么下面是一种方法
<button type="button" id="upload-button"
onclick="uploadFileIGCSE(
document.querySelector('#year').value,
document.querySelector('#grade').value,
document.querySelector('#subject').value)"
class="btn btn-success" aria-expanded="false">Upload</button>
-选择年份-
2001
2002
2003
-选择等级-
五年级
六年级
七年级
-选择主题-
爱德思
国家的
其他
上传
日志值:()
试试这个
<button type="button" id="upload-button" onclick="getOption()" class="btn btn-success"
aria-expanded="false">Upload</button>
function getOption() {
var year = document.getElementById("year");
var year_option = year.options[year.selectedIndex].value;
var grade = document.getElementById("grade");
var grade_option = grade.options[grade.selectedIndex].value;
var subject = document.getElementById("subject");
var subject_option = subject.options[subject.selectedIndex].value;
uploadFileIGCSE(year_option, grade_option, subject_option)
}
上传
函数getOption(){
var year=document.getElementById(“年”);
var year\u option=year.options[year.selectedIndex].value;
var等级=document.getElementById(“等级”);
var grade\u option=grade.options[grade.selectedIndex].value;
var subject=document.getElementById(“subject”);
var subject\u option=subject.options[subject.selectedIndex].value;
上传文件IGCSE(年份选项、等级选项、科目选项)
}
单击事件可以简单地运行匿名函数。它唯一的输入将是DOM引擎提供的默认事件
对象。然后,该函数可以从您感兴趣的各种元素中收集值,并进一步调用uploadFileIGCSE函数,将这些值作为参数传递
这是一个演示。注意,我在JS代码中使用了事件处理程序,而不是在HTML中使用“onclick”。这通常被认为是更好的做法,因为它使代码更易于阅读、维护和调试,并有助于将功能与演示分离
注意:您可以使用jQuery来处理任何/所有这些问题,但同样地,这并不是真正必要的,在这种情况下,它并不会增加太多的价值
var-button=document.getElementById(“上传按钮”);
按钮。addEventListener(“单击”),函数(事件){
var year=document.getElementById(“年”).value;
var grade=document.getElementById(“grade”).value;
var subject=document.getElementById(“subject”).value;
上传文件IGCSE(年份、年级、科目);
});
函数上传文件IGCSE(年份、年级、科目){
控制台日志(年份、年级、科目);
}
上传
-选择年份-
2001
2002
2003
-选择等级-
五年级
六年级
七年级
-选择主题-
爱德思
国家的
其他
您确实不应该使用像onclick这样的内联事件侦听器(出于可维护性、安全性和关注点分离的原因)
相反,使用DOM API的HTMLElement.prototype.addEventListener()
添加侦听器:
函数上传fileigcse(x,y,z){
控制台日志(x,y,z);
}
document.getElementById('upload-button')。addEventListener('click',function(){
上传文件IGCSE(year.value、grade.value、subject.value);
})
-选择年份-
2001
2002
2003
-选择等级-
五年级
六年级
七年级
-选择主题-
爱德思
国家的
其他
上传
您可以尝试这样的操作。您应该将函数包装成一个新的匿名函数:onclick=“function(){uploadFileIGCSE('param1','param2','param3');}”
fnName()
将调用该函数一次,该函数返回的任何内容都将被绑定为onclick
处理程序。我不太明白您想说的@LuudJacobs。你能举个例子吗?不需要event.preventDefault()代码>因为按钮[type=button]
没有默认操作。@connexo非常正确。我没有记下那个。这就像一个反射动作来添加默认lol。我会删除它。
<button type="button" id="upload-button" onclick="getOption()" class="btn btn-success"
aria-expanded="false">Upload</button>
function getOption() {
var year = document.getElementById("year");
var year_option = year.options[year.selectedIndex].value;
var grade = document.getElementById("grade");
var grade_option = grade.options[grade.selectedIndex].value;
var subject = document.getElementById("subject");
var subject_option = subject.options[subject.selectedIndex].value;
uploadFileIGCSE(year_option, grade_option, subject_option)
}
document.getElementById('upload-button').addEventListener('click', function() {
uploadFileIGCSE(year.value, grade.value, subject.value);
})
$('#upload-button').click(function(e) {
var year = $('#year').val();
var grade = $('#grade').val();
var subject = $('#subject').val();
uploadFileIGCSE(year, grade, subject);
})