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,476
  • 1
  • 9
  • 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

Alive to die - Anant
  • 70,531
  • 10
  • 51
  • 98
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>
Albert Einstein
  • 7,472
  • 8
  • 36
  • 71
Deepu Reghunath
  • 8,132
  • 2
  • 38
  • 47
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
  • 8,132
  • 2
  • 38
  • 47
Albert Einstein
  • 7,472
  • 8
  • 36
  • 71