基于 html5 中相同形式的另一个字段中的数据设置输入最大长度的方法?
Way to set maxlength on input based on data in another field of same form in html5?
如何将我的文本输入字段中的 maxlength 属性设置为等于用户在同一表单中的数字输入字段中输入的值?
<form action="/action_page.php">
<input id="number" type="number" value="20" max="40">
<input type="text" id="username" name="username" maxlength="10"><br><br>
<input type="submit" value="Submit">
</form>
我猜这可能需要 JavaScript?
您可以在 input
事件上设置 maxlength
属性。
document.querySelector("#number").addEventListener("input", function(e){
document.querySelector("#username").maxLength = this.value;
});
<form>
<input id="number" type="number" value="20" max="40">
<input type="text" id="username" name="username" maxlength="20"><br><br>
<input type="submit" value="Submit">
</form>
是的,这需要 JavaScript。你会做这样的事情:
document.querySelector('#number').addEventListener('input', (e) => {
e.target.closest('form').querySelector('[name="username"]').maxLength = e.target.value;
});
JSFiddle:https://jsfiddle.net/63cpv8rk/
在这里,我们为 #number
编辑的元素 select 的 input
事件添加了事件处理程序。 (虽然你应该避免使用这些 ID 属性......它们不必要地扰乱了全局范围。)
然后在输入时,我们找到父表单,然后 select 按名称输入。最后,我们将其最大长度设置为刚刚放入我们字段中的值。
如何将我的文本输入字段中的 maxlength 属性设置为等于用户在同一表单中的数字输入字段中输入的值?
<form action="/action_page.php">
<input id="number" type="number" value="20" max="40">
<input type="text" id="username" name="username" maxlength="10"><br><br>
<input type="submit" value="Submit">
</form>
我猜这可能需要 JavaScript?
您可以在 input
事件上设置 maxlength
属性。
document.querySelector("#number").addEventListener("input", function(e){
document.querySelector("#username").maxLength = this.value;
});
<form>
<input id="number" type="number" value="20" max="40">
<input type="text" id="username" name="username" maxlength="20"><br><br>
<input type="submit" value="Submit">
</form>
是的,这需要 JavaScript。你会做这样的事情:
document.querySelector('#number').addEventListener('input', (e) => {
e.target.closest('form').querySelector('[name="username"]').maxLength = e.target.value;
});
JSFiddle:https://jsfiddle.net/63cpv8rk/
在这里,我们为 #number
编辑的元素 select 的 input
事件添加了事件处理程序。 (虽然你应该避免使用这些 ID 属性......它们不必要地扰乱了全局范围。)
然后在输入时,我们找到父表单,然后 select 按名称输入。最后,我们将其最大长度设置为刚刚放入我们字段中的值。