javascript - 基本形式 - Javascript 代码不起作用

标签 javascript forms

我无法让此代码正常工作。我正在尝试从表单中输入的任何文本创建一个 URL。例如,如果您在文本字段中提交“Hello”,则结果将是“http://www.Hello.com ”。任何关于为什么这不起作用的指示将不胜感激。

代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head></head>
<body>

<form name="search" action="jsTest.html" onsubmit="return URL()" method="post">
Query: <input type="text" id="query" name="query"/><br>
Submit: <input type="submit" value="Submit"/>
</form>

<script type="text/javascript">
function URL()
{
var x = document.search.query.val();
document.write("http://www.");
document.write(x);
document.write(".com/");
return false;
}
</script>

</body>
</html>

最佳答案

答案:

<form>
Query: <input type="text" id="query" name="query"/><br>
Submit: <input type="submit" value="Submit" onclick="getURL()"/>
</form>

<script type="text/javascript">
   function getURL()
    {
    var x = document.getElementById("query").value;
    alert(x); //Debug statement
    }
</script>

右。不知道这里发生了什么,所以我从头开始重写。这有效,我测试过它,至少使用警报框。

可能发生了什么:

我认为 javascript 函数可能需要以小写字母开头。

来自 w3schools:

JavaScript is case sensitive. The function keyword must be written in lowercase letters, and the function must be called with the same capitals as used in the function name.

我从表单中删除了 action,因为它很可能试图查找该文件并激活该文件中的 javascript 代码。我删除了 post 因为它在我的计算机上搞砸了,可能是因为它在离线浏览器模式下运行(即,实际上没有像 POST 那样使用 HTTP 请求)

onclick 全部为小写,而不是驼峰式,这也可能导致一些问题。我总是使用 onclick 而不是使用 form onsubmit 因为通常您的表单会想要链接到 .PHP 文件,而使用按钮的 >onclick 提供额外的灵 active 。

关于javascript - 基本形式 - Javascript 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17517761/

相关文章:

django 表单错误打印 __all__

javascript - 在拖动一个 div 的同时,将另一个 div 与被拖动的 div 一起移动

javascript - 我怎样才能让 Cesium 与 flexbox 布局一起工作?

javascript - ReSharper 关于 ClosureOnModifiedVariable 的警告 - 为什么?

javascript - 当用户访问 3 个或更多页面时触发函数

Python:Jupyter Notebook 创建运行代码的动态检查表用户输入

javascript - 使用 ng-switch-when AngularJS 时无法附加 div?

excel - 如何在窗体窗口打开时保持 VBA 中的代码运行?

php - 2个表单提交相同的数据

javascript - 在 Javascript 中检索表单的 "name"属性,而名称为 "name"的输入存在