不断更新按钮的名称



我有这样的代码,我希望raise按钮告诉用户,如果他们单击该按钮,他们将下注多少。如果输入的值被更改为10,那么我希望raise按钮显示"raise 10"。差不多就是这样。我希望当用户在输入框中输入时,它能"实时"改变。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>poker</title>
</head>
<body>
<div>
<form id="actionForm">
<button id="fold" class="turn" type="submit">Fold</button>
<button id="call" class="turn" type="submit">Call</button>
<button id="raise" class="turn" type="submit">Raise<br>0</button>
<br>
<input id="amount" autocomplete="off" title="amount" value="0" />
</form>
</div>
</body>
</html>

我觉得我在网上搜索的时候把这个问题写得很糟糕,所以我来这里寻求帮助。我不确定我是否需要js用各种循环来做这件事,或者有一些东西内置到HTML中。

试试这样:

<script>
function updateButton()
{
// get value from input field
var inputValue = document.getElementById("inputField").value;
// update button text
document.getElementById("raise").innerHTML = "Raise " + inputValue;
}
</script>

HTML

<input type="text" id="inputField" oninput="updateButton()">

PS:oninput事件在元素的值发生改变后立即发生,而onchange在内容被更改后,元素失去焦点时发生。

您将需要Javascript来创建此行为。步骤如下:

  1. 保存"Raise"值转换为变量
  2. 为你的按钮设置这个值标签,并使用它来增加

这是我带来的:

<script>
function handleChange(){
var amount = document.getElementById('amount').value
document.getElementById('raise').innerText = `Raise ${amount}`
}
</script>

,并按如下方式调用:

<input id="amount" autocomplete="off" onkeyup="handleChange()" />

我用的是"onkeyup"实现你提到的"实时"。

希望有帮助!

最新更新