One option would be to make some of the Lookup values required; that way even if they click Submit it won't go through because the values are not entered.
However, if there's no way to do that because the lookup does not always return a result you can do the following:
First, add some JavaScript to hide the Submit button as soon as the form loads
$(document).ready(function(){
$('.Submit').hide();
});
Next, figure out what condition you will use to determine whether or not to allow form submission. As of 10.2 Forms has a "lookupcomplete" event, so you could use that event and run $('.Submit').show();
If your users might change the triggering value more than once, then add a "lookupstarted" event handler for that field that will re-hide the Submit button until the lookup is finished.
// Replace Field1 with the id of your target field
// Unless it is in a collection, you can usually get this easily by going
// into the CSS/JavaScript interface and looking at the "q#" for the parent
// and replacing "q" with "Field"
// Show the Submit button when the lookup is finished
$(document).on('lookupcomplete', function (event) {
if (event.triggerId == 'Field1') {
$('.Submit').show();
}
});
// Hide the Submit button when the user triggers a new lookup
$(document).on('lookupstarted', function (event) {
if (event.triggerId == 'Field1') {
$('.Submit').hide();
}
});
Just be sure to check the code carefully. I have a habit of forgetting closing brackets when I post 