To do this is relatively simple since your application works as expected and you just want to add a novelty / function.
The first thing to consider is to create a service to run in the background, there are several plugins to facilitate this process. You can check the following:
link
link
With a service in the background you should expect (or listen to) the online
event of Cordova. It will be issued as soon as the device connects to the Internet. More information on how to do this at this link Cordova Online Event .
When the user registers and has no internet connection you must store the information or even the request itself in the device. As soon as the online
event is triggered you verify which information is saved to be registered and tries to register. However it is worth informing that if any data is not correct you will have to treat them differently, perhaps with some notification.
To save the data to the device you can use various technologies, see this response to get a better view.