【问题标题】:Javascript onclick event doesn´t fire [closed]Javascript onclick事件不会触发[关闭]
【发布时间】:2012-10-02 10:58:01
【问题描述】:

我这里有一些代码:

<html>
<script type="text/javascript">
    document.getElementById('myElement').onclick = function () 
    {
        var searchterm = document.getElementById('bereich').value;
        document.href("http://www.google.com/serach?q=" + searchterm);
    }
</script>
<body>
<center>
    <img src="https://www.google.de/images/srpr/logo3w.png"><br>
    <input type="text" name="q"> &nbsp; <input type="button" value="Search" onclick="startSearch()">
</center>

这不起作用。我知道这根本就是一个菜鸟,但我不知道 javascript。任何人都可以帮助我吗?

加法:

我也试过了:

<html>
<body>
<center>
<img src="https://www.google.de/images/srpr/logo3w.png"><br>
<input type="text" name="q"> &nbsp; <input type="button" value="Search" onclick="startSearch()">
</center>
<script type="text/javascript">
     window.onload = function(){
document.getElementById('myElement').onclick = function () 
{
    var searchterm = document.getElementById('bereich').value;
    document.href = "http://www.google.com/serach?q=" + searchterm;
}
     };

和:

<html>
<body>
<center>
<img src="https://www.google.de/images/srpr/logo3w.png"><br>
<input type="text" name="q"> &nbsp; <input type="button" value="Search" name="searchButton" onclick="startSearch()">
</center>
<script type="text/javascript">
function triggerGoogleSearch() 
{
var searchterm = document.getElementById('bereich').value;
document.href("http://www.google.com/serach?q=" + searchterm);
}   

document.getElementById('searchButton').onclick = triggerGoogleSearch();
</script>
</body>
</html>

【问题讨论】:

  • 我已将您的问题回滚到第二版。看来这就是您提出并得到回答的问题。不要将您的问题编辑成全新的问题。收到的答案可能不再适用。如果您有新问题,请提出新问题。
  • 在这种情况下,答案适合修改后的问题,但你是对的,对不起
  • 嗯,写接受答案的用户修改了您的问题to this。我假设您现在看到这一切有多么成问题?请不要再这样做了。事情只会一团糟。

标签: javascript html function events onclick


【解决方案1】:

改变这个:

document.getElementById('myElement').onclick = function ()

到这里:

function startSearch ()

并改变这个:

document.href("http://www.google.com/serach?q=" + searchterm);

到这里:

window.location.href = "http://www.google.com/serach?q=" + searchterm;

并将id="bereich" 添加到您的&lt;input type="text" name="q"&gt;,如下所示:

<input type="text" name="q" id="bereich">

如果你想通过 getElementById 找到它。

另外,将网址更改为:

http://www.google.com/serach

到这里:

http://www.google.com/search

更新:

实际上,不要介意所有这些更正,忘记 JavaScript!

只需制作一个简单的 HTML 表单:

<img src="https://www.google.de/images/srpr/logo3w.png"><br>
<form action="http://www.google.com/search" method="get">
<input type="text" name="q">
<input type="submit" value="Search">
</form>

THIS DEMO

我认为我们都在尝试修复您的代码,却完全错过了一个更简单的解决方案。 :)

【讨论】:

  • 你能坚持一个完整的代码吗,因为我不知道更改的初始代码是什么......我尝试了每个答案和每个答案的每个编辑,没有任何工作.. .
  • @Paedow 通过工作演示查看我的更新答案
  • 好的,这很完美......但我仍然想知道为什么没有一个 javascript 版本可以工作......顺便说一下:我使用的是 Firefox 18.0.1a Build 20121001030603。难道浏览器只是使脚本崩溃?
  • @Paedow 你的代码中有很多小错误,我认为其中大部分都被我和其他人在这里纠正了,但每个人都错过的一件事是 它是window.location.href 而不是@ 987654333@! 如果您添加此更改,您的 JavaScript 版本(更正后)可能会工作。
  • 哦,这真是人渣的错误:)
【解决方案2】:

这段代码中有很多个错误。我列出了其中一些,但我可能错过了一些。

1) 将您的脚本放在正文的末尾,它会起作用。现在它在元素存在之前执行。所以根本没有添加事件处理程序。

2) 没有document.href 函数。使用document.href =

3) 你没有任何 id 为 myElement 或 bereich 的元素

4) 你需要对搜索词进行编码

5) 可能是“搜索”,而不是“搜索”

6) 你的按钮什么都不做,它调用了一个不存在的函数

7) 最好将它包含在 onload 回调中:

<html>
<body>
<center>
    <img src="https://www.google.de/images/srpr/logo3w.png"><br>
    <input type="text" name="q" id=bereich> &nbsp; <input type="button" value="Search" id=myElement">
</center>
<script type="text/javascript">
         window.onload = function(){
    document.getElementById('myElement').onclick = function () 
    {
        var searchterm = document.getElementById('bereich').value;
        document.href = "http://www.google.com/search?q=" + encodeURIComponent(searchterm);
    }
         };
</script>
</body>
</html>

【讨论】:

  • 现在试过了,不行...
  • 我修复了一些其他错误。仍在寻找更多。
  • 但是你有一个不使用的按钮吗?
  • 以上代码是我网站的唯一代码
  • 我觉得应该恢复原问题。同时,我添加了原始问题的链接。
【解决方案3】:
function triggerGoogleSearch() 
{
    var searchterm = document.getElementById('bereich').value;
    document.href("http://www.google.com/serach?q=" + searchterm);
}   

document.getElementById('myElement').onclick = triggerGoogleSearch();

你可以试试这个吗?

【讨论】:

    【解决方案4】:
    <html>
    <body>
    <center>
        <img src="https://www.google.de/images/srpr/logo3w.png"><br>
        <input type="text" name="q"> &nbsp; <input type="button" value="Search" onclick="startSearch()" id="myElement">
    </center>
    <script type="text/javascript">
             window.onload = function(){
        document.getElementById('myElement').onclick = function () 
        {
            var searchterm = document.getElementById('bereich').value;
            document.href("http://www.google.com/serach?q=" + searchterm);
        }
             };
    </script>
    </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 2014-12-20
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多