0

我无法让这段代码正常工作。我正在尝试从放入表单的任何文本创建一个 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>
4

4 回答 4

1

您设置了x变量,但引用了未定义的query变量。保持你的名字一致。

于 2013-07-08T00:37:23.343 回答
1

回答:

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

对。不知道这里发生了什么,所以我从头开始重写。这行得通,我至少对其进行了测试,以使用该alert盒子。

可能发生了什么:

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

来自 w3schools:

JavaScript 区分大小写。function 关键字必须用小写字母书写,并且调用函数时必须使用与函数名相同的大写字母。

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

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

于 2013-07-08T00:41:33.893 回答
0

你可以修改你的javascript。我建议你使用 jQuery。

function modify_url(){
        var q = $('input[name="query"]');

        q.val('http://www.' + q.val() + '.com');
        return true;
    }
于 2013-07-08T00:40:38.410 回答
0

使用.valuenot val(),即 jQuery。

见:http: //jsfiddle.net/wCS9d/

于 2013-07-08T01:50:26.450 回答