Hallo Forum,
ich möchte eine html-Seite mit Themen-Suchmaschinen machen. Dazu habe ich folgenden Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <table style="width: 100%" border="1"> <tbody> <tr> <td> <h1>Freeware-Sites:</h1> <br> <form action="https://duckduckgo.com/" method="get" id="freewaresites" target="_blank"> <input name="q" id="suchfeld" type="text"> <button type="button" id="search">Suchen</button> <ul style="list-style-type: none;"> <li><label><input name="sites" value="filehorse.com" checked="checked" type="checkbox">Filehorse.com</label></li> <li><label><input name="sites" value="filehippo.com" checked="checked" type="checkbox">Filehippo.com</label></li> <li><label><input name="sites" value="oldversion.com" checked="checked" type="checkbox">OldVersion.com</label></li> </ul> </form> </td> <td> <h1>3D-Printing-Sites:</h1> <br> <form action="https://duckduckgo.com/" method="get" id="3dprintingsites" target="_blank"> <input name="q" id="suchfeld2" type="text"> <button type="button" id="search2">Suchen</button> <ul> <li><label><input name="sites" value="thingiverse.com" checked="checked" type="checkbox">Thingiverse.com</label></li> <li><label><input name="sites" value="cults3d.com" checked="checked" type="checkbox">Cults3D.com</label></li> <li><label><input name="sites" value="myminifactory.com" checked="checked" type="checkbox">myminifactory.com</label></li> <li><label><input name="sites" value="cgtrader.com" checked="checked" type="checkbox">cgtrader.com</label></li> <li><label><input name="sites" value="pinshape.com" checked="checked" type="checkbox">pinshape.com</label></li> <li><label><input name="sites" value="youmagine.com" checked="checked" type="checkbox">youmagine.com</label></li> <li><label><input name="sites" value="3dexport.com" checked="checked" type="checkbox">3dexport.com</label></li> </ul> </form> </td> </tr> </tbody> </table> <br> <script type="text/javascript"> <!-- Erstes Suchfeld --> document.getElementById('search').onclick = function() { var q = document.getElementById("suchfeld").value; var sites = document.querySelectorAll('#freewaresites input[name="sites"]:checked'); var siteStr = ''; for (var i = 0; i < sites.length; i++) { siteStr += ' OR site:' + sites[i].value; } siteStr = siteStr.substr(4); window.open('https://duckduckgo.com/?q=' + encodeURIComponent(q + ' ' + siteStr), '_blank'); }; document.getElementById('suchfeld').addEventListener('keyup', function(event) { if (event.keyCode === 13) { event.preventDefault(); document.getElementById('search').click(); } }); document.getElementById('freewaresites').addEventListener('submit', function(event) { event.preventDefault(); var q = document.getElementById("suchfeld").value; var sites = document.querySelectorAll('#freewaresites input[name="sites"]:checked'); var siteStr = ''; for (var i = 0; i < sites.length; i++) { siteStr += ' OR site:' + sites[i].value; } siteStr = siteStr.substr(4); window.open('https://duckduckgo.com/?q=' + encodeURIComponent(q + ' ' + siteStr), '_blank'); }); <!-- Zweites Suchfeld --> document.getElementById('search2').onclick = function() { var q = document.getElementById("suchfeld2").value; var sites = document.querySelectorAll('#3dprintingsites input[name="sites"]:checked'); var siteStr = ''; for (var i = 0; i < sites.length; i++) { siteStr += ' OR site:' + sites[i].value; } siteStr = siteStr.substr(4); window.open('https://duckduckgo.com/?q=' + encodeURIComponent(q + ' ' + siteStr), '_blank'); }; document.getElementById('suchfeld2').addEventListener('keyup', function(event) { if (event.keyCode === 13) { event.preventDefault(); document.getElementById('search2').click(); } }); document.getElementById('3dprintingsites').addEventListener('submit', function(event) { event.preventDefault(); var q = document.getElementById("suchfeld2").value; var sites = document.querySelectorAll('#3dprintingsites input[name="sites"]:checked'); var siteStr = ''; for (var i = 0; i < sites.length; i++) { siteStr += ' OR site:' + sites[i].value; } siteStr = siteStr.substr(4); window.open('https://duckduckgo.com/?q=' + encodeURIComponent(q + ' ' + siteStr), '_blank'); }); </script> </body> </html> |
Wie man leicht sehen kann, soll man die Seiten anhaken können, die man durchsuchen möchte, dann tippt man den Suchbegriff ein und startet mit Enter oder Button-Klick. Ein neuer Tab soll sich öffnen und Duckduckgo durchsucht NUR die ausgewählten Seiten.
Aus irgendeinem Grund funktioniert das erste Suchfeld ohne Probleme und das zweite Suchfeld überhaupt nicht. Dabei sind die Funktionen für beide Felder fast identisch. Sieht jemand den Fehler?
Bearbeitet von rklm:
Syntaxhighlighting. Bitte beachte Forum/Syntax und nutze die Vorschaufunktion!