stephan: <form> +PHP

folgendes Problem,
ein PHP-Script generiert mir mehere Formulare, die sich nur durch die Werte der Formularelemente und natürlich den Namen des Formulars unterscheiden. Das Versenden der Formulardaten erfolgt per POST. Das funktioniert ausser bei dem ersten Formular Einwand frei. Das erste Formular ist z.B. für Javascript nicht existent, es sendet nicht. Da sich die einzelnen Formulare nur in ihren Werten unterscheiden, kann ich keinen HTML-seitigen Fehler finden. Weis jemand was? Ich komme nicht weiter.

danke,
stephan

funktioniert:
"<form name="del3" method="POST" >
<input name="site" type="hidden" value="1">
<input name="p_id" type="hidden" value="35">
<input name="c_id" type="hidden" value="39">
<input name="bigbasket" type="hidden" value="1">
<input name="b_id" type="hidden" value="223">
<a onmouseup="document.del3.submit();" href="#" title="Entfernen"><img src="img/delete.gif" alt="Entfernen" width="20" height="20" border="0" /></a></form>"

funktioniert nicht:
"<form name="del2" method="POST" >
<input name="site" type="hidden" value="1">
<input name="p_id" type="hidden" value="33">
<input name="c_id" type="hidden" value="39">
<input name="bigbasket" type="hidden" value="1">
<input name="b_id" type="hidden" value="222">
<a onmouseup="document.del2.submit();" href="#" title="Entfernen"><img src="img/delete.gif" alt="Entfernen" width="20" height="20" border="0" /></a></form>"

  1. Hi.

    Es hieß, dass die Javascripts das Objekt nicht finden, oder?

    document.del2.submit()

    Ich hätte mit getElementsByName() drauf zugegriffen.

    document.getElementsByName("del2")[0].submit()

    Über die Bedeutung der [0] muss ich hoffentlich nix erklären ...

    MFG
    Griever

    1. die frage ist für mich ehr, warum javascript das erste formular nicht findet wärend die anderen einwandfrei funktionieren. selbst mit einem submit - button funktioniert das erste formular nicht. da kann dann auch getElementByName ode ID nichts machen, es ist kein javascript problem. javascript ist hier nur zur analyse.

      stephan

  2. Hallo,

    funktioniert:

    das kann eigentlich nicht sein.

    "<form name="del3" method="POST" >

    Hier fehlt das action-Attribut. Erstens ist es vorgeschrieben, zweitens definiert es, wohin das Formular überhaupt verschickt werden soll. Ohne action kein submit.

    <a onmouseup="document.del3.submit();" href="#" title="Entfernen"><img src="img/delete.gif" alt="Entfernen" width="20" height="20" border="0" /></a>

    Warum so ein Klimmzug? Warum nicht ein richtiger Submit-Button, in diesem Fall als <input type="image" ... >?
    Abgesehen davon, dass die Adressierung in JS falsch ist, es muss

    document.forms.del3.submit();

    heißen. Also nach meiner Einschätzung dürften beide Formulare nicht "funktionieren".

    So long,
     Martin

    --
    Wer im Steinhaus sitzt, soll nicht mit Gläsern werfen.
    1. hi,

      Abgesehen davon, dass die Adressierung in JS falsch ist, es muss

      document.forms.del3.submit();

      heißen.

      Nein, muss es nicht.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. Action muss nicht gesetzt werden, action wird dann als "self" interpretiert. ich habe hier javascript eingesetzt um eine fehlermeldung zu bekommen, da es mit einem submitbutton mehr oder weniger ein blindflug ist. wenn es wieder funktioniert wird ein image-formularelement verwendet. andere elemente der seite müssen per javascript "submitten", da sie sich außerhalb des Formulars befinden. aber das funktioniert alles außer wie gesagt beim ersten formular alles einwand frei.

      stephan

      1. hi,

        Action muss nicht gesetzt werden, action wird dann als "self" interpretiert.

        Dieses zufällige, von dir in deinen Testbrowsern beobachtete Verhalten ändert nichts daran, dass action ein Pflichtattribut ist.

        ich habe hier javascript eingesetzt um eine fehlermeldung zu bekommen, da es mit einem submitbutton mehr oder weniger ein blindflug ist.

        Was ist dabei "Blindflug"?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Wenn, wie in diesem fall, das versenden des formulars über den submit-button nicht funktioniert, bekomme ich kein feedback, kann somit die fehlerursache schwer eingrenzen. javascript hingegen gibt eine fehlermeldung aus, die in diesem fall lautet "document.info1 has no properties". das ist schon eine ganz andere basis.

          stephan

          1. hi,

            Wenn, wie in diesem fall, das versenden des formulars über den submit-button nicht funktioniert, bekomme ich kein feedback, kann somit die fehlerursache schwer eingrenzen.

            Dann solltest du erst mal deinen HTML-Code checken.

            javascript hingegen gibt eine fehlermeldung aus, die in diesem fall lautet "document.info1 has no properties". das ist schon eine ganz andere basis.

            In wie fern soll das weiterhelfen?
            Es besagt vermutlich nur, dass Javascript ebenfalls nicht finden konnte, was der Browser vorher im HTML auch schon nicht vorfand - ein korrektes Formular.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Also, das formular wurde mit einem "action" versehen. es hat sich aber nichts an dem problem geändert. das erste formular sendet immer noch nicht. ich habe es auch mit nem submit button probiert, geht auch nicht.

              läuft:
              "<form name="del3" action="/work/DogsAndKittys/index_2.php" method="POST" >
              <input name="site" type="hidden" value="1">
              <input name="p_id" type="hidden" value="34">
              <input name="c_id" type="hidden" value="45">
              <input name="bigbasket" type="hidden" value="1">
              <input name="b_id" type="hidden" value="240">
              <a onmouseup="document.del3.submit();" href="#" title="Entfernen"><img src="img/delete.gif" alt="Entfernen" width="20" height="20" border="0" /></a></form>"

              läuft nicht:
              "<form name="del2" action="/work/DogsAndKittys/index_2.php" method="POST" >
              <input name="site" type="hidden" value="1">
              <input name="p_id" type="hidden" value="33">
              <input name="c_id" type="hidden" value="45">
              <input name="bigbasket" type="hidden" value="1">
              <input name="b_id" type="hidden" value="239">
              <a onmouseup="document.del2.submit();" href="#" title="Entfernen"><img src="img/delete.gif" alt="Entfernen" width="20" height="20" border="0" /></a></form>"

              1. hi,

                das erste formular sendet immer noch nicht. ich habe es auch mit nem submit button probiert, geht auch nicht.

                läuft: [...]
                läuft nicht: [...]

                Diese kastrierten Beispiele reichen zum Nachvollziehen des Problems m.E. nicht aus.

                Stelle bitte ein vollständiges Online-Beispiel bereit, bei dem man das Problem nachvollziehen kann.
                Bitte mit validem Code, damit wir den Zwischenschritt dich auf die Wichtigkeit von solchem bei der Fehlersuche hinzuweisen und um Herstellung von solchem zu bitten, übergehen können.

                gruß,
                wahsaga

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