Таким образом, в основном все, что вам нужно сделать, это исправить onfocus="if (this.value=!'') this.value='';
во всех ваших элементах ввода, в основном потому, что вы неправильно объявили оператор равенства, у вас есть =!
вместо !==
или !=
.Это фиксированный HTML:
<input type="number" id="myText" onfocus="if (this.value!=='') this.value='';" min="0" oninput="this.value = Math.abs(this.value)" />
<br/>
<p> <input type="number" id="myletter" value="3" onfocus="if (this.value!=='') this.value='';" min="0" oninput="this.value = Math.abs(this.value)" /> </p>
<br/>
<p> <input type="number" id="mycapitalletter" value="1" onfocus="if (this.value!=='') this.value='';" min="0" oninput="this.value = Math.abs(this.value)" /> </p>
<br/>
<p> <input type="number" id="sc" value="0" onfocus="if (this.value!=='') this.value='';" min="0" oninput="this.value = Math.abs(this.value)" /> </p>
<br/>
<br/>
<button onclick="myFunction()">click</button>
Или, в конечном итоге, вы можете пропустить добавление его вручную к каждому входу, а под элементами создать свой тег <script> </script>
, например:
<input type="number" id="myText" min="0" oninput="this.value = Math.abs(this.value)" />
<br/>
<p> <input type="number" id="myletter" value="3" min="0" oninput="this.value = Math.abs(this.value)" /> </p>
<br/>
<p> <input type="number" id="mycapitalletter" value="1" min="0" oninput="this.value = Math.abs(this.value)" /> </p>
<br/>
<p> <input type="number" id="sc" value="0" min="0" oninput="this.value = Math.abs(this.value)" /> </p>
<br/>
<br/>
<button onclick="myFunction()">click</button>
<script type="text/javascript">
const inputs = document.querySelectorAll('input');
inputs.forEach((input, i) => {
input.onfocus = (event) => {
event.currentTarget.value = "";
}
});
</script>
Сценарий выполняет, как я уже сказал, цикл по HtmlCollection, возвращаемому querySelector
.Затем присоедините простую функцию, которая устанавливает значение input
в пустое (или пустую строку) событие onfocus
.