-2

ここにいくつかのコードがあります:

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

4 に答える 4

3

これを変える:

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"します。<input type="text" name="q">

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

getElementById で見つけたい場合。

また、URL を次のように変更します。

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>

このデモを参照してください。

私たちは皆、あなたのコードを修正しようとしていて、もっと簡単な解決策を完全に見逃していたと思います. :)

于 2012-10-02T11:04:24.660 に答える
1

このコードには多くのエラーがあります。いくつか挙げてみましたが、見落としがあるかもしれません。

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>
于 2012-10-02T10:58:45.417 に答える
0
function triggerGoogleSearch() 
{
    var searchterm = document.getElementById('bereich').value;
    document.href("http://www.google.com/serach?q=" + searchterm);
}   

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

これを試すことができますか?

于 2012-10-02T11:00:33.303 に答える
0
<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>
于 2012-10-02T11:02:53.537 に答える