Я действительно новичок в javascript и jquery, и я пытаюсь получить кнопку для автоматического клика из существующей кодовой базы. У меня возникают проблемы с получением кнопки, чтобы сделать это, даже если я следовал этому примеру Как автоматически нажать кнопку ввода .
Код ниже. Я пытался использовать и .submit()
, и .click()
, но start-game-btn
, похоже, ни в коем случае не давил. Я поместил console.log
внутри кнопки, когда она нажата, и сообщение, похоже, не регистрируется.
console.log("loading...")
$(() => {
$("#start-game-btn").click(event => {
console.log("start-game")
$("#errors").text("")
event.preventDefault()
const height = parseInt($("#height").val())
const width = parseInt($("#width").val())
const food = parseInt($("#food").val())
let MaxTurnsToNextFoodSpawn = 0
if ($("#food-spawn-chance").val()) {
MaxTurnsToNextFoodSpawn = parseInt($("#food-spawn-chance").val())
}
const snakes = []
$(".snake-group").each(function() {
const url = "http://0.0.0.0:8080/"//$(".snake-url", $(this)).val()
console.log(url)
if (!url) {
return
}
snakes.push({
name: "M1",//$(".snake-name", $(this)).val(),
url
})
})
if (snakes.length === 0) {
$("#errors").text("No snakes available")
}
console.log(12)
fetch("http://localhost:3005/games", {
method: "POST",
body: JSON.stringify({
width,
height,
food,
MaxTurnsToNextFoodSpawn,
"snakes": snakes,
})
}).then(resp => resp.json())
.then(json => {
const id = json.ID
fetch(`http://localhost:3005/games/${id}/start`, {
method: "POST"
}).then(_ => {
$("#board").attr("src", `http://localhost:3009?engine=http://localhost:3005&game=${id}`)
}).catch(err => $("#errors").text(err))
})
.catch(err => $("#errors").text(err))
})
console.log("ready!")
})
window.onload = function(){
var button = document.getElementById('start-game-btn');
button.form.submit();
console.log("Done!!")
}
Каждый раз, когда я обновляю sh страницу, которую показывает журнал:
loading...
ready!
Done!!
Я думаю, что это должно быть ведение журнала (или, по крайней мере, это то, чего я пытаюсь достичь ):
loading...
start-game
ready!
Done!!