Sorgenkind Mech: finde den fehler nicht: syntaxfehler!

moin leutz

also ich habe hier eine UND-Verknüpfung, wenn ich jeweils nur eines der elemente nehme, gibt es keine fehler, aber beide mit UND verknüpft ergibt einen syntaxfehler: weiß jemand wo??

hier die entsprechende zeile:

<select name='suchfeld' onChange="if(this.value!='' && document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:','')) finde(1);">

danke schonmal im vorraus

gruß

  1. <select name='suchfeld' onChange="if(this.value!='' && document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:','')) finde(1);">

    hallo, versuchs mal mit {} um finde(1) also: if(this.value!='' && document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:','')){ finde(1);}">

    1. hi

      <select name='suchfeld' onChange="if(this.value!='' && document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:','')) finde(1);">

      in der 2. bedingung ist ein zuweisunsoperator(=), da muß ein vergleichsoperator rein (== oder != oder sowas)

      gruß
      ptr

      1. hi

        <select name='suchfeld' onChange="if(this.value!='' && document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:','')) finde(1);">

        in der 2. bedingung ist ein zuweisunsoperator(=), da muß ein vergleichsoperator rein (== oder != oder sowas)

        na ne, ich will ja da nich vergleichen, sondern zuweisen, sprich es soll ja geprüft werden, ob die zuweiseung TRUE ergibt, also die zuweisung erfolgreich war, und nicht zum beispiel abbrechen gedrückt wurde

        wie gesagt, wenn ich die beiden elemente einzeln stehen habe funktioniert das auch, also im prinzip eines der beiden weglasse

        aber beide mit und verknüpft funktioniert nicht

        gruß

        1. hi

          <select name='suchfeld' onChange="if(this.value!='' && document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:','')) finde(1);">

          in der 2. bedingung ist ein zuweisunsoperator(=), da muß ein vergleichsoperator rein (== oder != oder sowas)

          probiers mal mit nen paar klammern mehr.

          <select name='suchfeld' onChange="if( (this.value!='') && (document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:',''))) finde(1);">

          gruß

          1. LOL

            moin alles klar

            funktionier super *schäm*

            danke!!

    2. danke aber hat leider nichts geholfen ;(

      der fehler soll übrigens in zeichen 64 liegen (?)

      gruß

  2. Hi,

    <select name='suchfeld' onChange="if(this.value!='' && document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:','')) finde(1);">

    this.value!='' && document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:','')

    wird ausgewertet als:

    ((this.value!='') && document.forms.ak1_finde_form.vilter.value) = prompt('Sucheingabe:','')

    Die Zuweisung des prompt-Ergebnisses an den boolschen Ausdruck muß fehlschlagen...

    Setze Klammern:

    (this.value!='') && (document.forms.ak1_finde_form.vilter.value=prompt('Sucheingabe:',''))

    (auch wenn die ersten Klammern nicht nötig sind, sie erleichtern dem Mensch das Lesen, da die Rangfolge der Operatoren nicht nachgeschlagen werden muß.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.