javascript - 我想设置一个文本框的 maxLength,这取决于用户对前一个文本框的回答

标签 javascript html forms onchange

所以基本上 HTML 表单会询问他们属于哪家公司,如果他们选择例如:-

<select name="catg" onchange='maxlength()'>
<option> Select..</option>
        <option value="stu">Uni Student</option>
        <option value="anothersstu">Student at another institution</option>
        <option value="staff">Uni Staff</option>
        <option value="other">other</option>

    </select><br />
    Student Number / Staff Number: <input type="text" name="ss"/> <br />

    function maxlength(){
    if(test.catg.selected=="stu"){
    test.ss.maxlength='8';
    .focus();
    .select();}
    return;
    }

如果用户选择 Uni student 或 Uni staff,Student Number/Staff Number 文本框的最大长度需要为 8。

我怎样才能做到这一点?我试过 onChange 但无法让它工作。

最佳答案

你可以这样做:

HTML:

<select id="select">
<option>Select..</option>
<option value="stu">Uni Student</option>
<option value="anothersstu">Student at another institution</option>
<option value="staff">Uni Staff</option>
<option value="other">other</option>
</select>
<br />Student Number / Staff Number:
<input type="text" id="txt" name="ss" />
<br />

JS:

 document.getElementById('select').onchange = (function(){
    if(this.value=="stu"){
     document.getElementById('txt').maxLength=8;
    }else{
     document.getElementById('txt').removeAttribute('maxLength');
    }
});

所以根据你的要求,做if else if条件

演示:http://jsfiddle.net/AmitJoki/8ZewM/2

关于javascript - 我想设置一个文本框的 maxLength,这取决于用户对前一个文本框的回答,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22801501/

相关文章:

javascript - 在 Promise 的 then() 内设置变量时,变量不会更新

html - 为什么 CSS[margin-right] 没有在 html 中应用?

php - 自动POST数据方法

html - 获取UIWebView当前滚动偏移量的div

html - CSS3 菜单淡出在 Firefox 中不起作用

javascript - JS 输入类型日期字段,表单提交后保持选择的值

javascript - 如何从 WordPress 侧边栏发出帖子请求?

javascript - socket.io:在同一个HTML页面中正确地更换房间并实现聊天

javascript - 使用 Jquery 动态删除脚本标签时出现问题

javascript - 在可扩展的 QML 应用程序中访问 ListView 索引