Sonia: Wert von Inputfeld abfragen

Hallo,

die folgende Zeile bereitet mir Kopfschmerzen:

parent.mainFrame.location.href='Search?SearchView&Query=' + document.tester.Query.value;

Das Problem: es kommt eine andere als die gewuenschte URL dabei heraus.
Als url kommt naemlich sowas:
.../ausloeser?Query=xyz

damit kann ich natuerlich nichts anfangen.
Hier ist das Formular dazu:

<form name="tester" action=ausloeser(event>
<input name="Query" size="20" maxlength="100"  onkeydown="ausloeser(event)">
<input type="button" value="Buscar" onClick="parent.mainFrame.location.href='Search?SearchView&Query=' + this.form.Query.value">
</form>

Da frage ich mich wo es denn da haengt?

2 loesungsmoeglichkeiten suche ich:
1.entweder den fehler den mein aufruf produziert herausfinden
2.kann man die Entertaste blockieren? und so verhindern
das das Fomular einfach abgeschickt wird?

Danke schonmal :-)
Sonia

  1. Hallo,

    die folgende Zeile bereitet mir Kopfschmerzen:

    parent.mainFrame.location.href='Search?SearchView&Query=' + document.tester.Query.value;

    Das Problem: es kommt eine andere als die gewuenschte URL dabei heraus.
    Als url kommt naemlich sowas:
    .../ausloeser?Query=xyz

    damit kann ich natuerlich nichts anfangen.
    Hier ist das Formular dazu:

    <form name="tester" action=ausloeser(event>
    <input name="Query" size="20" maxlength="100"  onkeydown="ausloeser(event)">
    <input type="button" value="Buscar" onClick="parent.mainFrame.location.href='Search?SearchView&Query=' + this.form.Query.value">
    </form>

    Da frage ich mich wo es denn da haengt?

    2 loesungsmoeglichkeiten suche ich:
    1.entweder den fehler den mein aufruf produziert herausfinden
    2.kann man die Entertaste blockieren? und so verhindern
    das das Fomular einfach abgeschickt wird?

    Danke schonmal :-)
    Sonia

    hi Sonia,

    ich weiß nicht aber schau die mal dein action-attr an. du hast ne klammer vergessen (ausserdem probier mal es in anführungsstriche zu setzen)

    grüsse christian

  2. Hi,

    ohne geanau zu lesen, aber fehlt in der action nich ne klammer?

    <form name="tester" action=ausloeser(event>

    .............................................^

    <input name="Query" size="20" maxlength="100"  onkeydown="ausloeser(event)">
    <input type="button" value="Buscar" onClick="parent.mainFrame.location.href='Search?SearchView&Query=' + this.form.Query.value">
    </form>

    Bye Ed X

    1. Hi,

      ohne geanau zu lesen, aber fehlt in der action nich ne klammer?

      die fehlt nur in dem Beispielformular, hab ich vergessen hinzuschreiben.
      hab sie ["(event)"] nachtraeglich eingetragen.

  3. hi,

    Als url kommt naemlich sowas:
    .../ausloeser?Query=xyz

    da schickst Du das Formular ja auch hin, wenns per enter abgeht.

    <input name="Query" size="20" maxlength="100"  onkeydown="ausloeser(event)">

    afaik besitzt "input" den eventhandler onkeydown nicht.

    2.kann man die Entertaste blockieren? und so verhindern
    das das Fomular einfach abgeschickt wird?

    bitte keine Tastenmanipulation. Da Du den searchstring eh mit JS zusammensetzt (warum eigentlich?) kannst Du mit "onsubmit='return false'" die Absendung per enter verhindern.

    hth

    Gruesse  Joachim

    1. hi

      Als url kommt naemlich sowas:
      .../ausloeser?Query=xyz

      da schickst Du das Formular ja auch hin, wenns per enter abgeht.

      ja, das weiss ich. Es war der halbmisslungene Versuch
      eine Javascriptfunktion mit namen ausloeser() [siehe unten]auszufuehren.
      Die Funktion wird auch ausgefuehrt, aber scheinbar  wurde
      die URL die ich dort zuweise, wieder von dem Formular selbst
      ueberschrieben.

      function ausloeser(taste)
         {
             if (taste.which == "13")
            {
                 parent.mainFrame.location.href='Search?SearchView&Query=' + document.tester.Query.value;
                 return false;
             }

      }

      <input name="Query" size="20" maxlength="100"  onkeydown="ausloeser(event)">

      afaik besitzt "input" den eventhandler onkeydown nicht.

      Im IE ja, und deswegen ist das son bissl doppeltgemoppelt
      http://www.teamone.de/selfhtml/tebj.htm#a11

      onkeydown fuer IE, action= ... fuer NS
      ^^^^^^^^^^^^^^^^^-> restbestand alten codes (frei nach dem Motto viel hilft viel oder auch weniger ;-))

      2.kann man die Entertaste blockieren? und so verhindern
      das das Fomular einfach abgeschickt wird?

      bitte keine Tastenmanipulation.

      wenn mir keine Wahl bleibt...!!

      Da Du den searchstring eh mit JS zusammensetzt (warum eigentlich?)

      Ich kann das Formular nicht auf herkoemmlichem Wege abschicken weil:
      wenn du dir die URL etwas genauer anschaust, wirst du eine etwas seltsame
      kombination feststellen.

      .../Search?SearchView&Query=DasSuchich

      Query=DasSuchich sollte normalerweise hinter dem & angefuegt
      werden. Der effekt aber hierbei ist, das alles was hinter
      dem Fragezeichen weggeschnitten wird. 'Query=DasSuchich'
      wird direkt hintenangefuegt, sodass die URL dann so aussieht:

      .../Search?Query=DasSuchich

      So kann man das (unter meinen Umstaenden) nicht verwerten

      kannst Du mit "onsubmit='return false'" die Absendung per enter verhindern.

      Lustigerweise hat das onsubmit mich gerettet :-) dankeschoen.
      Du wirst vielleicht erstaunt sein, zu hoeren, das man jetzt enter
      druecken kann und alles laeuft wies soll. Warum auch immer, ist
      mir jetz gradmal wurscht, aber vielen dank!!!!

      Gruesse
      Sonia