各コンポーネントにはenabledという有効無効を設定するプロパティがあります。そのプロパティをOnOffすることでInputFieldの有効無効が設定できると思います。
Inspector上では以下のチェックボックスがenabledの状態を示しています。

スクリプトを作成することでもenabledの状態を変化させることもできますが、ButtonとInputFieldのUnityEventの設定を使うことでスクリプトしなくても質問の内容を実現できるかもしれません。
ButtonコンポーネントにはOnClickというUnityEventがあります。
これはボタンが押された際に呼ばれる処理を記述できます。
Inspector上でも設定でき、InputFieldのenabledをtrueにしてあげれば、ボタンを押した際にInputFieldを有効にできます。

InputFieldコンポーネントにはOnEndEditというUnityEventがあります。
これは入力が完了した際に呼ばれる処理を記述できます。
ここでInputFieldのenabledをfalseにしてあげれば、入力完了後InputFieldが無効になります。
あとInputFieldのenabledの初期状態をfalseにしてあげれば、ボタンを押さないとInputFieldが実行されないようにできます。

ご参考になればと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。