Kniffelig: zwei funktionen auf einmal

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kniffelig: zwei funktionen auf einmal

    hallo forum,

    habe hier ein formular, welches erst nach einem klick auf "expand" zu sehen ist. nach dem abschicken/neuladen muss das formular aber zusehen sein.

    das problem:
    schlicht und einfach gesagt, das formular ist nicht zu sehen(man muss erst wieder auf "expand" klicken).


    die frage:
    wie kann man das formular nach dem neuladen sichtbar machen.


    der versuch:
    habe versucht, auf einen button zwei funktionen zu legen,
    klappt aber leider nicht.


    kann mir bitte wer dabei weiterhelfen...
    danke im vorraus
    bastian




    form.php
    PHP-Code:
    <form name="myform">
      <
    table width="325" height="182" border="0" cellpadding="0" cellspacing="0">
      <
    tr>
        <
    td><p>
    <
    script type="text/javascript">
    <!--
    function 
    go_revision(){
      
    window.location.href "form.php?ID="+document.getElementById('ID').value;
    }

    //-->
    </script>

    <
    script>
    function 
    expand(sec)
    {
         
    thisSec = eval('e' sec);
         if (
    thisSec != null){
              if (
    thisSec.length){
                   if (
    thisSec[0].style.display != 'none'){
                        for (var 
    i=0;i<thisSec.length;i++) {thisSec[i].style.display 'none'}
                   }
                   else{
                        for (var 
    i=0;i<thisSec.length;i++) {thisSec[i].style.display 'inline'}
                   }
              }
              else{
                             if (
    thisSec.style.display != 'none')     {thisSec.style.display 'none'}
                   else{
    thisSec.style.display 'inline'}
              }
         }

    }
    </
    script>


          <
    br><p>
    <
    a href="form.php" onClick="go_revision(0);expand(0)">Textlink</a>

    <
    input type="button" value="expand!" onClick="expand(0);">

          </
    p></td>
        </
    tr>
      <
    tr id="e0" style="display:none">
        <
    td><p>Testvar

    <
    input type="text"  id="ID" name="ID" value="4" size="3">
    <
    input type="button" value="send n expand" onClick="go_revision(0);expand(0)">
        </
    p></td>
        </
    tr>
    </
    table>
    </
    form
    Zuletzt geändert von bastian; 12.10.2004, 13:53.

  • #2
    füg am ende des forms einfach dynamisch per php ein javascript ein (nach bedarf), das den aufruf durchführt
    Code:
    <script type= ...>
        funtion_aufrufen();
    </script>
    Kissolino.com

    Kommentar


    • #3
      ich sehe, dass du die Abarbeitung in php machst, also ist es denn so schwer beim re-load php-seitig display:block vorzubesetzen? Anstatt mit JS rumzuärgern?

      Kommentar


      • #4
        ich sehe, dass du die Abarbeitung in php machst, also ist es denn so schwer beim re-load php-seitig display:block vorzubesetzen? Anstatt mit JS rumzuärgern?
        ja, ist es, wenn man sich selber die möglichkeit zum konstruktiven denken raubt, indem man einfach nicht kontruktiv nachdenkt

        stehe "ausnahmsweise" auf meinem eigenen schlips,
        meinst du ich soll am anfang prüfen, "if" expand eins oder null ist, abhängig davon zeigen oder eben nicht, beim verschicken dann ne variable
        "$expand=1" mit übergen?



        b.

        Kommentar


        • #5
          nein, wozu so umständlich. Überlege mal, was die Elemente des Formulars enthalten:

          - beim 1. Aufruf
          - beim Senden -> reload

          reagiere darauf. Noch nie von Formular validieren gehört?

          Kommentar


          • #6
            quäl mich doch net so...
            probier mal weiter rum, validierung klingt gut, muss eh noch rein -
            darum geht es ja eigentlich nur!

            bis jetzt erstmal danke für deine anstösse,
            besten gruss
            b.

            Kommentar


            • #7
              habs jetzt danke deiner/eurer hilfe.

              würd' mich aber jetzt mal brennend interessieren,
              wie du das gelösst hättest (wenn du zeit dafür hast).

              gruss
              bastian


              PHP-Code:
              <form action="<? echo" expand.php?expand=1"; ?>" method="post" name="meineform" >
                <table width="325" height="182" border="0" cellpadding="0" cellspacing="0">
                <tr>
                  <td><p>
                    <script>
              function expand(sec)
              {
                   thisSec = eval('e' + sec);
                   if (thisSec != null){
                        if (thisSec.length){
                             if (thisSec[0].style.display != 'none'){
                                  for (var i=0;i<thisSec.length;i++) {thisSec[i].style.display = 'none'}
                             }
                             else{
                                  for (var i=0;i<thisSec.length;i++) {thisSec[i].style.display = 'inline'}
                             }
                        }
                        else{
                                       if (thisSec.style.display != 'none')     {thisSec.style.display = 'none'}
                             else{thisSec.style.display = 'inline'}
                        }
                   }

              }
                    </script>
                    <p><a href="#" onClick="go_revision(0);expand(0)">Textlink</a>
                      <input type="button" value="expand!" onClick="expand(0);">
              </p></td>
                  </tr>
                  <?
                   if($expand !="1"){ ?>
                <tr id="e0" style="display:none">
                <? } else { ?>
                  <tr id="e0" style="display:inline">
                  <? } ?>
                  <td bgcolor="#99FF00"><p>INHALT
                    <input type="submit" name="Submit" value="Senden">
                  </p></td>
                  </tr>
              </table>

              </form>

              Kommentar


              • #8
                bastian,

                fragst du mich? hm... so gehts auch, ich würde aber nicht so machen, sondern so wie ich es beschrieben habe.

                Kommentar


                • #9
                  ja asp2php, ich frag' dich.

                  komm schon drucks net rum, zeig mir doch büdde,
                  wie das jemand macht, der nen buckel voll von erfahrung hat.

                  zeigste?
                  b.

                  Kommentar


                  • #10
                    ok, am Anfang deines Scriptes machste einfach print_r($_POST) ohne jegliche Überprüfung.

                    1. ruf das Formular auf, schau dir die Ausgabe an
                    2. Mache Eingabe, oder auch nicht, drücke auf Sendebutton, schau dir die Ausgabe an

                    Was fällt dir auf? Auf was kannst du prüfen?

                    Kommentar


                    • #11
                      deine antwort iritiert mich.
                      sorry, aber ich blick's echt nicht.
                      b.

                      Kommentar

                      Lädt...
                      X