QuentinTanioartino QuentinTanioartino - 5 months ago 20
jQuery Question

Change onClick function arguments dynamically

I have something like this:

<button id="button1" onClick="someFunc('arg1','arg2')"> </button>


Is it possible in JavaScript to change parameters of the function
someFunc
to look like below:

<button id="button1" onClick="someFunc('somethingDiff1','somethingDiff2')"> </button>

Answer

Try this

If you want in jquery then try this

$(document).ready(function(){
   var clickfun = $("#button1").attr("onClick");
   var funname = clickfun.substring(0,clickfun.indexOf("("));       
   $("#button1").attr("onclick",funname+"('somethingDiff1',"+"'somethingDiff2')");
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="button1" onClick="someFunc('arg1','arg2')">Button1</button> 

If you want in JavaScript then try this:-

<script>
  window.onload=function(){
  var clickfun = document.getElementById("button1").getAttribute("onclick");
  var funname = clickfun.substring(0,clickfun.indexOf("("));       
  document.getElementById("button1").setAttribute("onclick",funname+"('somethingDiff1',"+"'somethingDiff2')");    
};
</script>

Hope This will help you.

Comments