首先,使您的标记更便携/可重用。我还将按钮的类型设置为'button'
而不是使用onsubmit
属性。如果表单需要与服务器交互,您可以切换type
属性。submit
<div class='wrapper'>
<form id='nameForm'>
<div class='form-uname'>
<label id='nameLable' for='nameField'>Create a username:</label>
<input id='nameField' type='text' maxlength='25'></input>
</div>
<div class='form-sub'>
<button id='subButton' type='button'>Print your name!</button>
</div>
</form>
<div>
<p id='result'></p></div>
</div>
接下来编写一个通用函数,用于将用户名检索到变量中。它检查以确保保存用户名的变量中至少包含三个字符。您可以将其更改为您想要的任何常数。
function getUserName() {
var nameField = document.getElementById('nameField').value;
var result = document.getElementById('result');
if (nameField.length < 3) {
result.textContent = 'Username must contain at least 3 characters';
//alert('Username must contain at least 3 characters');
} else {
result.textContent = 'Your username is: ' + nameField;
//alert(nameField);
}
}
接下来,我为按钮创建了一个事件监听器。内联 js 调用通常被认为是不好的做法。
var subButton = document.getElementById('subButton');
subButton.addEventListener('click', getUserName, false);
这是一个工作且风格简单的演示:
这个答案的 CodePen 演示。