javascript函数未被调用/无法从html表单工作
这是我的整个html页面javascript函数未被调用/无法从html表单工作,javascript,html,forms,function,Javascript,Html,Forms,Function,这是我的整个html页面 <html> <head> <title> text conversion</title> <script type="text/javascript"> function testResults(form) { var str = form.stringn.value; str.split(" "); document.write("testing1"); var length = str.length;
<html>
<head>
<title> text conversion</title>
<script type="text/javascript">
function testResults(form)
{
var str = form.stringn.value;
str.split(" ");
document.write("testing1");
var length = str.length;
var newn = "";
for(var i = 0; i<length; i++)
{
if(str[i].charAt(str[i].length - 1) != ".")
{
str[i] = str[i] + ".";
}
str[i] = str[i] + " ";
str[i].charAt(0) = str[i].charAt(0).toUpperCase();
newn = newn + str[i];
}
document.write(newn);
document.write("testing");
}
</script>
</head>
<body>
<form name="stringform" action="" method="get">
Text: <input type="text" name="stringn"><br>
<input type="button" name="Convert" Value="convert" onClick="testResults(this.form)">
</form>
</body>
</html>
html显示正确,但按钮不产生任何操作。我甚至在javascript中的循环下面尝试了document.writetest,但没有效果,这让我觉得根本没有调用该函数。该函数的思想是格式化输入字符串,使每个单词的第一个字母大写,并在每个单词后加上句号
这是我第一次尝试使用javascript,所以可能我做错了什么,这应该是显而易见的
最终解决方案:
<html>
<head>
<title> text conversion</title>
<script type="text/javascript">
function testResults(form)
{
var str = form.stringn.value;
var strn = str.split(" ");
var length = strn.length;
var newn = "";
for(var i = 0; i<length; i++)
{
if(strn[i].charAt(strn[i].length - 1) != ".")
{
strn[i] = strn[i] + ".";
}
strn[i] = strn[i].charAt(0).toUpperCase() + strn[i].slice(1);
strn[i] = strn[i] + " ";
newn = newn + strn[i];
}
document.write(newn);
}
</script>
</head>
<body>
<form name="stringform" action="" method="get">
Text: <input type="text" name="stringn"><br>
<input type="button" name="Convert" Value="convert" onClick="testResults(this.form)">
</form>
</body>
</html>
开始吧 进入你的视野 这应该行得通。同时,回应之前关于使用new作为变量的评论
<html>
<head>
<title> text conversion</title>
<script language="JavaScript">
function testResults(form)
{
var str = form.stringn.value;
var newString = "";
var strList = str.split(" ");
for(var i = 0; i < strList.length; i++){
newWord = strList[i].charAt(0).toUpperCase() + strList[i].slice(1) + ".";
newString += newWord + " ";
}
document.write(newString);
}
</script>
</head>
<body>
<form name="stringform" action="" method="get">
Text: <input type="text" name="stringn"><br>
<input type="button" name="Convert" Value="convert" onClick="testResults(this.form)">
</form>
</body>
</html>
这应该行得通。同时,回应之前关于使用new作为变量的评论
<html>
<head>
<title> text conversion</title>
<script language="JavaScript">
function testResults(form)
{
var str = form.stringn.value;
var newString = "";
var strList = str.split(" ");
for(var i = 0; i < strList.length; i++){
newWord = strList[i].charAt(0).toUpperCase() + strList[i].slice(1) + ".";
newString += newWord + " ";
}
document.write(newString);
}
</script>
</head>
<body>
<form name="stringform" action="" method="get">
Text: <input type="text" name="stringn"><br>
<input type="button" name="Convert" Value="convert" onClick="testResults(this.form)">
</form>
</body>
</html>
您还使用new作为变量。新版本是javascript中的一个新版本。我建议您通过运行代码或其他linter来检查语法错误。打开浏览器控制台,您将看到未捕获的SyntaxError:Unexpected token New语言属性已弃用,请使用type=text/javascriptfixed以及我发现的一些其他内容,但仍然无法工作您可能还需要将language=javascript更改为type=text/javascript。但是,使用new作为变量是一个很大的禁忌。您也在使用new作为变量。新版本是javascript中的一个新版本。我建议您通过运行代码或其他linter来检查语法错误。打开浏览器控制台,您将看到未捕获的SyntaxError:Unexpected token New语言属性已弃用,请使用type=text/javascriptfixed以及我发现的一些其他内容,但仍然无法工作您可能还需要将language=javascript更改为type=text/javascript。使用new作为变量是一个很大的禁忌。啊,这似乎是最后一个问题,虽然我没有完全那样使用它,因为如果它已经有一个句点,我不想添加句点。最终的代码应该在问题中被编辑。啊,这似乎是最后一块,虽然我没有完全那样使用它,因为如果它已经有一个句点,我不想添加句点。最终代码应在有疑问的情况下进行编辑。