Javascript 根据所选选项的不同更改maxlength

Javascript 根据所选选项的不同更改maxlength,javascript,html,forms,Javascript,Html,Forms,我看到过类似的问题贴出来,并试图修改它们以满足我的需要,但我对javascript的了解还不够。 我需要当用户更改下拉选择时,“标题文本字段”maxlength会动态更改 a、 b c和d最大长度应为40 最大长度应该是2 我的代码如下,我不知道为什么,但它不能正常工作。当我将选择选项更改为“E”时,标题输入框的最大长度是默认值(40),而不是2。这就是问题所在。应该是2 标题页 函数更改值(下拉列表){ var option=dropdown.options[dropdown.select

我看到过类似的问题贴出来,并试图修改它们以满足我的需要,但我对javascript的了解还不够。 我需要当用户更改下拉选择时,“标题文本字段”maxlength会动态更改

a、 b c和d最大长度应为40 最大长度应该是2


我的代码如下,我不知道为什么,但它不能正常工作。当我将选择选项更改为“E”时,标题输入框的最大长度是默认值(40),而不是2。这就是问题所在。应该是2


标题页
函数更改值(下拉列表){
var option=dropdown.options[dropdown.selectedIndex].value,
field=document.getElementById('titre');
如果(选项='a'| |选项=='b'| |选项=='c'| |选项=='d'){
field.maxLength=40;
}否则,如果(选项=='e'){
field.value=field.value.substr(0,2);//在减少maxlength之前,请确保它最多包含两个字符;您也可以同时重置该值
field.maxLength=2;
}
}?
感受下面的所有字段:
标题:格式:
A.
B
C
D
E

在函数定义的末尾有一个问号

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>title page</title>
        <script type="text/javascript">
            function changeValue(dropdown) {
                var option = dropdown.options[dropdown.selectedIndex].value,
                field = document.getElementById('titre');

                if (option == 'e') {
                    field.value = field.value.substr(0, 2); // before reducing the maxlength, make sure it contains at most two characters; you could also reset the value altogether
                    field.maxLength = 2;
                } else {
                    field.maxLength = 40;
                }
            }
        </script>
    </head>
    <body>
        <form action="converter.php" method="post">
            <h2>Feel all field below:</h2>
            <div>
                Title: <input type="texte" name="titre" id="titre" maxLength="40"/>  Format: 
                <select id="format" name="format" onchange="changeValue(this);">
                    <option value="a">A</option>
                    <option value="b">B</option>
                    <option value="c">C</option>
                    <option value="d">D</option>
                    <option value="e">E</option>
                </select>
                </div>
                <div>
                    <textarea name="texte" style="width: 415px; height: 155px;"></textarea>
                </div>
                <div>
                <input type="submit" value="OK" />
            </div>
        </form>
    </body>
</html>

标题页
函数更改值(下拉列表){
var option=dropdown.options[dropdown.selectedIndex].value,
field=document.getElementById('titre');
如果(选项=='e'){
field.value=field.value.substr(0,2);//在减少maxlength之前,请确保它最多包含两个字符;您也可以同时重置该值
field.maxLength=2;
}否则{
field.maxLength=40;
}
}
感受下面的所有字段:
标题:格式:
A.
B
C
D
E

不正常工作的确切含义是什么?您的代码与IE10、FF、Opera和Chrome中的代码一样工作。你期望它做什么?虽然在
之前有一个额外的问号,但可能是文章中的打字错误?您使用什么浏览器?当我将选择选项更改为“E”时,标题输入框的最大长度是默认值(40),而不是2。这就是问题所在。是的,只是打字错误。否则,一切看起来都是正确的——这里有一把工作小提琴:@jfrej实际上,jsfiddle似乎工作不正常。至少对我来说不是。可能是内联js问题?@mkey,这是在firefox和chromeNow中工作的,还有一个分号;)。