基本表单-Javascript代码不工作
我很难让这个代码正常工作。我正在尝试从放入表单的任何文本创建URL。例如,如果您在文本字段中提交“Hello”,它将导致“.”任何关于这不起作用的指示都将被感激 代码基本表单-Javascript代码不工作,javascript,forms,Javascript,Forms,我很难让这个代码正常工作。我正在尝试从放入表单的任何文本创建URL。例如,如果您在文本字段中提交“Hello”,它将导致“.”任何关于这不起作用的指示都将被感激 代码 查询: 提交: 函数URL() { var x=document.search.query.val(); 文件。写(“http://www."); 文件。编写(x); document.write(“.com/”); 返回false; } 您设置了x变量,但参考了未定义的查询变量。保持名称一致。您可以修改javascript。我
查询:
提交:
函数URL()
{
var x=document.search.query.val();
文件。写(“http://www.");
文件。编写(x);
document.write(“.com/”);
返回false;
}
您设置了x
变量,但参考了未定义的查询
变量。保持名称一致。您可以修改javascript。我建议您使用jQuery
function modify_url(){
var q = $('input[name="query"]');
q.val('http://www.' + q.val() + '.com');
return true;
}
回答:
<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>
查询:
提交:
函数getURL()
{
var x=document.getElementById(“查询”).value;
警报(x);//调试语句
}
对。不知道这里发生了什么,所以我从头重写了它。这是可行的,我测试了它,至少使用了警报
框
可能发生的事情:
<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函数可能需要以小写字母开头
学校:
JavaScript区分大小写。函数关键字必须用
小写字母,并且必须使用相同的
函数名中使用的大写字母
我从表单中删除了操作
,因为它很可能试图找到该文件并激活该文件中的javascript代码。我删除了post
,因为这在我的电脑上搞砸了,可能是因为它是在离线浏览器模式下运行的(也就是说,实际上不像post那样使用HTTP请求)
onclick
全是小写,而不是camelcase,这可能也导致了一些问题。我总是使用onclick
,而不是使用表单onsubmit
,因为通常您的表单需要链接到.PHP
文件,而使用按钮的onclick
允许额外的灵活性。使用.value
而不是val()
,这就是jQuery
请参阅:脚本标记是否已关闭?是的,忘记将其粘贴到中。对不起,您定义了一个变量“x”,但不要使用它。使用变量“query”,但不定义它。我觉得你没有真正向我们展示你的真实代码。你和乔都是对的,我没有使用x变量。但是,在按submit时,没有任何操作持续。让我输入完整的代码,稍等片刻。您是正确的,Joe,谢谢。当我按submit时,它只添加“../jsTest.html?query=INPUT”,而不更改页面的实际内容。你知道为什么会发生这种情况吗?添加
返回false代码>到函数末尾。很抱歉,我正在使用手机,无法编辑我的答案。我仍然发现查询直接转到URL的末尾,并且没有显示预期的结果。我感谢你的帮助!您还需要更改函数调用onsubmit=“return URL()”
以及返回false.Nope的URL函数。我想知道这是否与表单操作有关。我应该将提交流转到另一个页面吗?在离开培训轮之前,首先让他们了解底层内容。因此,我尝试在这里使用val,并将我的变量匹配起来,使其更有意义。但是,我仍然发现查询直接转到URL的末尾,而没有显示结果。@mkayen我已经纠正了错误,我认为这可能会起作用,但我自己还没有尝试过。我的答案是纯javascript(没有jquery),我已经包含了一个调试语句,它将使用一个弹出框告诉您query
字段的值是什么。我仍然在这里遇到一些问题。事实上,警报(x)没有发生。谢谢你的帮助,我真的很感激当我点击页面上的提交时,警报不会出现,也不会出现任何结果。我写函数的方式一定有问题。@mkayen-aha。这就是我们进行调试的原因。我觉得这里发生了一些奇怪的事情。这太棒了,谢谢!您使用getURL()而不是URL()有什么原因吗?URL()是内置的JS函数吗?另外,JS中第6行的用途是什么?我承认我在URL
方面遇到了问题,所以选择了getURL
。第6行将id为result
的div
标记的内容设置为url。这被认为是比document.write
以及console.log(res)更好的做法
是一个调试语句,它的侵入性比警报小。请随意取下它。