使用Javascript设置表单文本字段的maxlength,不起作用
因此,我的javascript文件中有以下内容:使用Javascript设置表单文本字段的maxlength,不起作用,javascript,html,Javascript,Html,因此,我的javascript文件中有以下内容: function yeahbaby() { document.getElementByName("surname").maxLength = "40"; } 这是在我的htm文件的这行代码中加载的 <form action="blah blah blah" method="post" name="medicalform" onsubmit="return unrelated validation function();" onload
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(“姓氏”)[0].setAttribute('maxLength','40');也不行
编辑3:指向我的HTML和javascript文件的链接。尝试:
代码中的问题是您将JavaScript作为一个函数,但没有调用该函数 还要注意,它是
getElementsByName
而不是getElementByName
,它将返回一个HTML集合,而不是单个元素
因此,您必须指定索引[0
]
检查下面的代码片段
function-by(){
document.getElementsByName(“姓氏”)[0].setAttribute(“maxLength”,“40”);
}
yeahbaby()代码>
姓氏:
元素未设置.id
。为什么不在html
中使用maxlength
属性?我不是使用ID来引用它,而是使用名称。我必须使用身份证吗?我没有注意到。你为什么不在html
处设置maxLength
的值呢?@guest271314这实际上是为了我的大学课程的作业,他们告诉我在一个单独的javascript文件中应用所有约束,而不是编辑html文件在元素
缺失的“s”之后添加“s”
以下元件仍不工作。当我尝试键入第41个字符时,它会停止吗?还是只在我尝试提交它时才会通知?顶部的部分是否在我的javascript文件中?我需要一个单独的文件,那是什么;在函数之外做什么?对不起,我复制了OPs代码并更新了setAttribute
我真的不知道出了什么问题。也许是yeahbaby();没有加载函数?我之前在尝试使.onload工作时遇到了问题。在结束标记上方添加JavaScript代码JavaScript必须位于单独的.js文件中-这就是我的任务告诉我要做的。我不能将javascript放在HTML文档中,我只能将它添加到
标记上方。正如
那样,这并没有改变任何事情=/
document.getElementsByName("surname")[0].setAttribute('maxLength', '40');