Javascript 提交按钮和输入验证?
我想在按下Enter键时更改此代码以使其更清晰。我得到了一个提交表单和一个文本字段,随后是提交按钮,必须单击该按钮才能提交,但这无助于我解决问题,因为我需要表单在按下Enter键时识别,如何更改以对其进行排序Javascript 提交按钮和输入验证?,javascript,button,character,submit,Javascript,Button,Character,Submit,我想在按下Enter键时更改此代码以使其更清晰。我得到了一个提交表单和一个文本字段,随后是提交按钮,必须单击该按钮才能提交,但这无助于我解决问题,因为我需要表单在按下Enter键时识别,如何更改以对其进行排序 submitButton.onclick = function() { index = 0; results = []; username = usernameInput.value; if ( username.length > 0 ) { win
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编码还不熟悉,而且我的知识还不足以轻松地对其进行排序。第一个解决方案是阅读本文。 您可以了解为什么“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>
年龄:
小孩
成人
(功能(){
var age=document.getElementById('age');
age.addEventListener('keypress',函数(事件){
如果(event.keyCode==13){
event.preventDefault();
如果(年龄值>20){
document.getElementById('成人')。单击();
}否则{
document.getElementById('child')。单击();
}
}
});
}());
简而言之,对代码进行注释:
submitButton.onclick=function(){…您的代码
这项工作如您所述,onclick。您可以使用以下功能实现类似的功能:
submitButton.onkeypress=function(){…与上面示例中的检查键代码相同
验证:创建任何正则表达式的最简单方法是进行一些实际测试。我个人更喜欢这个网站:
什么“特别的"你是说字符?因为现在没有人能帮你。在这个特定的例子中有更多的信息。你不需要任何正则表达式来处理JS。接受任何字符,然后在后端处理所有事情。谢谢你的清晰回答,第二个问题是正则表达式的问题是,我在我的PHP站点上包含了一个阻止下划线和特殊字符的调用。
var-urlUsername=window.location.href.match(/\\\\([0-9a-z]{1,40})$/i)
我确实用var-urlUsername=window.location.href.match(/^[a-zA-Z0-9!@\$%\\\\\\&*\(+=.\-]+$/g)替换了它。
在对代码进行更改后,我不得不删除我的PHP站点上的调用以使其正常工作。