所以,我在我的javascript文件中有这个:
function yeahbaby() {
document.getElementByName("surname").maxLength = "40";
}
在我的htm文件中的这行代码中加载
<form action="blah blah blah"
method="post" name="medicalform" onsubmit="return unrelated validation function();"
onload="yeahbaby();">
最终结果是这个输入字段
Surname: <input type="text" name="surname">
最多限制为40个字符。
但是,它实际上并没有对输入字段设置限制,因为我可以输入超过40个字符(或者我尝试将其更改为)。
我知道我可以直接在htm文件中更改它但我需要使用javascript实际更改它。在过去的两个小时里,我一直试图解决这个问题。我错过了什么吗?
编辑:我已经尝试了getElementsbyName(添加了S)并且它仍然无效。
编辑2:document.getElementsByName(“surname”)[0] .setAttribute('maxLength','40');不起作用
编辑3:https://pastebin.com/7SNmmcSN指向我的HTML和javascript文件的链接。
答案 0 :(得分:1)
尝试setAttribute:
document.getElementsByName("surname")[0].setAttribute('maxLength', '40');
答案 1 :(得分:1)
您的代码中的问题是您将JavaScript作为函数但不调用该函数。
另请注意,getElementsByName
不是getElementByName
,它将返回HTML集合而不是单个元素。
因此,您必须指定索引[0
]。
检查以下代码段。
function yeahbaby() {
document.getElementsByName("surname")[0].setAttribute("maxLength", "40");
}
yeahbaby();
&#13;
<form action="blah blah blah"
method="post" name="medicalform" onsubmit="return unrelated validation function();"
onload="yeahbaby();">
Surname: <input type="text" name="surname">
&#13;