Sounds like you are using a hosted form. For sure your issue is with the plugin/CMS. When the customer goes to the auth.net form where they enter their credit card info, this is accomplished behind the scenes via an API call. No matter what CMS or plugin you use, this is taking place somewhere in the source code.
There are numerous ways to display the hosted form. Usually it happens via a redirect. What happens is an html form is submitted to auth.net. The html form will pass the merchants API credentials and/or validation token and usually info about the customer. Auth.net validates the API call and then the form is pulled up.
There is, however, no need for the customer to press any button to submit the form, or to even see the form or know it exists. For all of my integrations I use hidden input fields to house the validation token and JavaScript to submit the form automatically. So the user just enters their shipping details and clicks a button to pay and boom there the payment form is.
The other option with a hosted form is to use an iframe, and it is the same principle. The user never has to press anything to call up the form.