我想更改此代码,使其在按下Enter键时也能更清楚地显示,我得到了一个提交表单和一个文本字段,其后必须单击“提交”按钮才能提交,但这对我没有帮助因为我需要在按下Enter键时才能识别表单,将其整理出来会有什么变化?
submitButton.onclick = function() {
index = 0;
results = [];
username = usernameInput.value;
if ( username.length > 0 ) {
window.location.href = '//' + window.location.host + window.location.pathname + '#' + username;
usernameInput.disabled = true;
submitButton.disabled = true;
getExistence();
}
我在输入验证方面也遇到了问题,我应该进行哪些更改以允许表单识别并接受特殊字符?
usernameInput.onchange = function() {
this.value = this.value.replace(/[^a-z0-9]+/ig, '').slice(0, 40);
var urlUsername = window.location.href.match(/\#([0-9a-z]{1,40})$/i)
由于我是javascript编码的新手,因此请您提供更具体的信息,而我的知识不足以对它进行轻松排序。
答案 0 :(得分:0)
第一个解决方案是阅读本文。 https://www.tjvantoll.com/2013/01/01/enter-should-submit-forms-stop-messing-with-that/
您将获得信息,为什么“ button type =“ submit”比将其添加到JS中更好。 我认为,解决您的问题的方法可以是这样的:
<form>
<label for="age">Age:</label>
<input type="number" min="0" max="120" name="age" id="age">
<button id="child">Child</button>
<button id="adult">Adult</button>
</form>
<script>
(function() {
var age = document.getElementById('age');
age.addEventListener('keypress', function(event) {
if (event.keyCode == 13) {
event.preventDefault();
if (age.value > 20) {
document.getElementById('adult').click();
} else {
document.getElementById('child').click();
}
}
});
}());
</script>
简而言之,注释您的代码:
submitButton.onclick = function(){...您的代码
您所描述的作品,onclick。您可以使用类似的功能:
验证:创建任何正则表达式的最简单方法是进行一些实际测试。我个人更喜欢这个网站:https://regex101.com/submitButton.onkeypress = function(){...与上面的示例相同,但具有检查keyCode的代码
您是什么“ 特殊”字符?因为现在没有人可以提供帮助。在此特定示例中的更多信息。您只是不需要用于JS的任何RegEx。接受任何字符并在后端执行所有操作。