2

I want using greasmonkey auto click a button after page load. this button has this properties:

<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>

This code works but when page is reloaded it does not work.

This button has This properties first time page is loaded:

<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>

And then second time page is reloaded has This properties:

<button style="outline: 1px solid blue;" id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>
dheeraj Kumar
  • 372
  • 3
  • 20

4 Answers4

1

You can use following script.

$(document).ready(function(){
  $("#btnStartVisit").trigger("click");
});

It will trigger the click event of button on page load.

SRK
  • 3,418
  • 1
  • 8
  • 23
1

You can do through $(window).load(function(){..});

$(window).load(function(){
  $("#btnStartVisit").trigger("click");
});

Working snippet:-

$(window).load(function(){
  $("#btnStartVisit").trigger("click");
});

function StartVisit(id){
 alert(id);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>

Note:-

You can use $(document).ready(function(){$("#btnStartVisit").trigger("click");}); too

You can use <body onload ="StartVisit(1)"> too

Anant Kumar Singh
  • 68,309
  • 10
  • 50
  • 94
1

This may help you. you can use onload() event as this

function StartVisit(x){
 console.log("click " +x);
}
<body onload="StartVisit(0)">
<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>
</body>

or using jQuery event

$(document).ready(function(){
    $("#btnStartVisit").trigger("click");
});

function StartVisit(x){
    console.log("click " +x);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit
    <i class="material-icons dp48 left">flash_on</i>
</button>
Kiran Shahi
  • 6,738
  • 6
  • 35
  • 66
Deepu Reghunath
  • 6,468
  • 1
  • 30
  • 41
1

You js function must execute when the DOM is fully loaded. ready() Specify a function to execute when the DOM is fully loaded.

$(document).ready(function(){
  $("#btnStartVisit").trigger("click");
});

function StartVisit(id){
  console.log(id);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>
Deepu Reghunath
  • 6,468
  • 1
  • 30
  • 41
Kiran Shahi
  • 6,738
  • 6
  • 35
  • 66