Im Internetexplorer wird das Javascript richtig ausgeführt aber Firefox macht Probleme. Die Suche nach Wortgruppen und nach auszuschliessenden Wörtern wird von FF einfach ignoriert.
kann ich nicht nachvollziehen, im FF 2.x wird alles eingetragen.
<script type="text/javascript">
function Suche ()
du könntest Skript wesentlich vereinfachen, wenn du hier die Referenz auf das Formular übergeben würdest. (und dir den Namen für das Formular sparen)
<input type="button" value="Suche starten" onclick="Suche(this.form)">
function Suche (form)
und dann überall document.Formular mit form ersetzen.
if (document.Formular.Include.value == "")
Hier reicht i.d.R.: if (!document.Formular.Include.value)
{
var Include = ""
}
else
{
var Include = document.Formular.Include.value
}
das doppelte var ist zwar in JS erlaubt, aber IMHO nicht schön. In JS sind lokale Variabeln immer Funktionsweit lokal, im gegensatz zu anderen Programmiersprachen wo sie Blockweise lokal sind und so ein Konstrukt dann falsch wäre.
Zumal du ja eigentlich nur sowas willst (ich hab hier schonmal form eingesetzt):
var Include = form.Include.value || "";
if else ist also überflüssig.
if (document.Formular.Filename.value == "")
{
var Filename = ""
}
else
{
var Filename = " title:(" + document.Formular.Filename.value + ")"
}
und selbst sowas läßt sich schönder darstellen:
var Filename = form.Filename.value ? " title:(" + form.Filename.value + ")" : '';
if (document.Formular.Exclude.value == "")
{
var Exclude = ""
}
else
{
var ExcludeTemp = " " + document.Formular.Exclude.value
var Exclude = ExcludeTemp.replace(/ /g, " -")
}
und hier kann man if verwenden, wobei mir nicht ganz klar ist was du mit replace erreichen willst. Aber dann so:
var Exclude = ""
if (!document.Formular.Exclude.value)
{
var ExcludeTemp = " " + document.Formular.Exclude.value
Exclude = ExcludeTemp.replace(/ /g, " -")
}
if (document.Formular.rDocType[0].checked == true) var DocType = "";
der Vergleich auf true ist auch überflüssig.
location="http://suchsrv/search/?query=" + Suchanfrage
Das ist Faulheit und geht vermutlich meistens, trotzdem würde ich des Verständiss wegen window.location.href benutzen.
Allerdings Frage ich mich, warum du das mühsam mit JS zusammen baust und nicht den Browser selbst machen läßt?
Struppi.
Javascript ist toll (Perl auch!)