Единственное, что, по-моему, вызвало у вас проблемы, - это onSubmit. Он должен появляться внутри элемента формы, а не внутри элемента input type = "submit". В любом случае, я сделал несколько модификаций и протестировал, и следующее работает так, как вы хотели:
<form onsubmit="getGridLength();">
<input type="number" placeholder="rows" min="1" max="300" id ="RowInput" value="" oninput="rowValue();">
<p>x</p>
<input type="number" placeholder="columns" min="1" max="300" id="ColumnInput" value="" oninput="columnValue();">
<input type="submit" id="Submit" value="">
</form>
<script>
var tile = document.getElementById("tile");
var rowInput;
var columnInput;
var gridLength;
function rowValue() {
rowInput = document.getElementById('RowInput').value;
}
function columnValue() {
columnInput = document.getElementById('ColumnInput').value;
}
function getGridLength() {
gridLength = columnInput * rowInput
alert(gridLength);
}
</script>
Кроме того, я бы предложил завершить каждую команду Javascript запятым-разделителем (; ) так же, как я сделал в коде выше. Вам также будет легче работать со следующими языками программирования, с которыми вы будете работать, поскольку большинству из них это требуется в конце команды.