Tobias Maier: input type="text", Eingabefeld

Hallo Forum,

habe ein Problem mit der weiterverarbeitung einer Eingabe in ein Eingabefeld, und zwar folgendes:

durch die Eingabe eines Suchbegriffes in ein Eingabefeld wird, der Suchbegriff weitergeleitet an eine interne Dokumentensuche, in Form eines Links. Hier besteht die Möglichkeit der Suche mitels auslassungszeichen **.
Ist es möglich, im Quellcode die Eigenschaft des Eingabefensters so zu verändern, dass der Suchbegriff z.B. "Haus", als *Haus* weitergegeben wird.

hoffe ich habe es nicht zu umständlich formuliert.
Danke für Eure Hilfe

  1. Hi,

    Ist es möglich, im Quellcode die Eigenschaft des Eingabefensters so zu verändern, dass der Suchbegriff z.B. "Haus", als *Haus* weitergegeben wird.

    AFAIK nicht, aber du kannst das suchscript so ändern das es aufs gleiche hinausläuft.

    Welche Sprache verwendest du? php? JS? etwas mehr detailbeschreibung wäre nicht schlecht.

    MfG

    1. Durch das Eingeben und Starten der Suche wird ein neues Explorer-Fenster geöffnet und das Suchwort an den LINK der zugehörigen Firmendatenbanksuche geschrieben: Link_get_file?m0Tilte=Eingabe

      jetzt sollte da aber stehen Link_get_file?m0Title=*Eingabe*

      1. Hi,

        Link_get_file?m0Tilte=Eingabe

        ist das HTML? ich würd jetzt einfach mal nein sagen.

        MfG

      2. Tag Tobias.

        Durch das Eingeben und Starten der Suche wird ein neues Explorer-Fenster geöffnet und das Suchwort an den LINK der zugehörigen Firmendatenbanksuche geschrieben: Link_get_file?m0Tilte=Eingabe. jetzt sollte da aber stehen Link_get_file?m0Title=*Eingabe*

        Dann überlasse es doch dem Browser. Eine Möglichkeit mit Javascript wäre Folgende:

        function weitergabe() {  
          var new_val = '*' + document.Testform.m0Title.value + '*';  
          document.m0Title.Suchwort.value = new_val;  
          return true;  
        }
        

        Und das Formular:

        <form name="Testform" action="Pfad_zu/Link_get_file" onsubmit="return weitergabe();" method="get">  
          <input type="text" name="m0Title" value="">  
          <input type="submit" value="Senden">  
        </form>
        

        So kannst du es dann machen, wenn das Ganze in einem Intranet läuft und sichergestellt ist, dass alle User JS aktiviert haben. Im Übrigen bin ich der Meinung, dass das '*' nicht maskiert werden muss, lasse mich aber gern eines Besseren belehren.

        Siechfred

  2. Hi !

    Klar geht das.

    <INPUT TYPE=TEXT NAME="bla" VALUE="">
    <INPUT TYPE=BUTTON NAME="drueck" VALUE="Klick" onClick="mach()"></BUTTON>
    <SCRIPT>
    function mach() {
       var url="http://hier.hin.gehen/funktion?Parameter="
       url=url+"%2A"; // CODE fuer "*"
       url=url+document.forms[0].bla.value;
       url=url+"%2A";
       top.location.href=url;
    }
    </SCRIPT>

    So wird der Inhalt des Textfeldes (z.B. Haus) an
    http://hier.hig.gehen geschickt, dort die Funktion "funktion" aufgerufen und dem Parameter "Parameter" dann der Wert "*Haus*" gegeben. Das Schreiben von "2A" statt "*" hat den Grund, dass sich die eine oder andere Applikation vielleicht mit dem "*" im Url etwas dumm anstellt. Daher sicherheitshalber so schreiben.

    Gruß

    Hans

    1. hi,

      Das Schreiben von "2A" statt "*" hat den Grund, dass sich die eine oder andere Applikation vielleicht mit dem "*" im Url etwas dumm anstellt. Daher sicherheitshalber so schreiben.

      warum du dann aber vollkommen darauf verzichtest, auch den wert aus dem eingabefeld, der ja ebenfalls alles mögliche enthalten kann, ebenfalls mit einer geeigneten maskierungsfunktion (*) zu behandeln, muss man jetzt aber nicht verstehen, oder?

      gruß,
      wahsaga

      (*) bspw. encodeURIComponent()

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hi !

        warum du dann aber vollkommen darauf verzichtest, auch den wert aus dem eingabefeld, der ja ebenfalls alles mögliche enthalten kann, ebenfalls mit einer geeigneten maskierungsfunktion (*) zu behandeln, muss man jetzt aber nicht verstehen, oder?

        Ne, sonst koennte man noch auf die Idee kommen,dass ich nur das Beispiel "Haus" -> "*Haus*" im Kopf und den Rest vergessen hatte ;-) Klar muss man den Rest noch machen.

        var i;
        var buffer;

        buffer="";
        for (i=0; i<document.forms[0].bla.value.length; i++) {
           if (document.forms[0].bla.value.substr(i,1)=="*")
              buffer=buffer+"%2A";
           else
              buffer=buffer+document.forms[0].bla.value.substr(i,1);
        }

        Und dann statt document.forms[0].bla.value eben nur buffer in den URL packen.

        Gruß

        Hans