JSFiddle - React, Tailwind, and code Playground
HTML
<form onsubmit="return false">
<input data-order="1" onchange="changed(this)" oninput="changed(this)" placeholder="nome">
<input data-order="2" onchange="changed(this)" oninput="changed(this)" placeholder="sobrenome" disabled>
<input data-order="3" onchange="changed(this)" oninput="changed(this)" placeholder="idade" disabled>
<input data-order="4" onchange="changed(this)" oninput="changed(this)" placeholder="celular" disabled>
<input data-order="5" type="submit" disabled>
</form>
JavaScript
changed = (input) => {
if (input.value){ //Checa se tem valor (truthy)
let atual = parseInt(input.getAttribute("data-order")) //Pega a ordem do input
document.querySelector('input[data-order="' + (atual + 1) + '"]').removeAttribute("disabled") //Remove o atributo disabled do prox input
}
else{ document.querySelector("input[type=submit]").setAttribute("disabled", true) //Adiciona disable ao botão
}
}