好吧,从本质上讲,我有一个HTML按钮,该按钮可以执行给定的onclick函数,一旦执行了该函数,我想通过单击相同的按钮来附加执行函数的名称。显然,这将是初始功能的最后一个组成部分。
我曾尝试对将onclick HTML属性集更改为按钮这一特定问题进行研究,但收效甚微,并且由于我对javascript具有新颖性,因此我不了解产生这种功能的知识。
以下是HTML按钮的代码:
<button id="englishgradesubmit" onClick="Functionenglishgradesubmit()">Submit Grade</button>
此处提供了相应的javascript函数:
function Functionenglishgradesubmit() {
var params1 = new Array();
params1.push(radiobuttonanswer("englishgrade"));
params1.push(document.getElementById('criterionenglish').value);
google.script.run.withSuccessHandler(remake)
.postit(params1);
}
function radiobuttonanswer(englishgrade) {
var englishgrade = document.getElementsByName(englishgrade);
theans ="";
for (var i = 0, length = englishgrade.length; i < length; i++) {
if (englishgrade[i].checked) {
theans = englishgrade[i].value;
break;
}
}
if (theans.length == 0) {
alert("Answer: nothing selected for button" + englishgrade);
return -1;
}
return theans;
}
function remake() {
unknown code for the moment;
}
基本上,第一次单击按钮时,将执行上面的大javascript函数,并另外执行remake()函数,该函数应该将按钮的onclick函数更改为一个完全不同的函数,从而产生如下所示的内容。 / p>
<button id="englishgradesubmit" onClick="otherfunction()">Submit Grade</button>
谢谢。
答案 0 :(得分:0)
使用getAttribute
获取onclick
属性,该属性包含函数的名称。
function Functionenglishgradesubmit()
{
var a=document.getElementById('englishgradesubmit').getAttribute('onClick');
document.getElementById('englishgradesubmit').removeAttribute('onClick');
document.getElementById('englishgradesubmit').setAttribute('onClick','newFunction()');
var b=document.getElementById('englishgradesubmit').getAttribute('onClick');
//perform the function tasks
document.getElementById('append').innerHTML+="Old Function name is " +'<b>'+a+'</b><br>';
document.getElementById('append').innerHTML+="New Function name is " +'<b>'+b+'</b>';
}
<button id="englishgradesubmit" onClick="Functionenglishgradesubmit()">Submit Grade</button>
<div id="append"></div>
答案 1 :(得分:0)
据我所知,您希望在执行大型javascript之后更改onclick函数,并附加该函数的名称,因此,您可以执行以下操作:
function remake()
{
var btn = document.getElementById('englishgradesubmit');
var fname = btn.getAttribute('onclick');
document.getElementById('append').innerHTML = "function name: " + fname; //append the function name (if needed)
btn.onclick = otherFunction;
}
并使用HTML(如果需要):
<div id="append"></div>