Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript设置表单文本字段的maxlength,不起作用_Javascript_Html - Fatal编程技术网

使用Javascript设置表单文本字段的maxlength,不起作用

使用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

因此,我的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(“姓氏”)[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');