2016-10-27 1 views
-3

Ich versuche eine Website mit Angeboten mit PHP zu machen. Ich habe eine Funktion, die ich in einer for-Schleife mit verwende und die Ergebnisse aus der Datenbank werden in der Funktion übergeben. Der Code ist wie folgt:Formular funktioniert nicht richtig?

<?php 
function table_values($row0,$row1,$row2,$row3,$row4,$row5){ 

    $table_element = "<div id=\"$row0\" class='tab'> 
            <div class='tab-header'>"; 
     switch ($row1) { 
      case "Tiscali": 
       $img = "<img src='images/tiscali.png' alt='Tiscali' />"; 
       break; 
      case "Infostrada": 
       $img = "<img src='images/infostrada.png' alt='Infostrada' />"; 
       break; 
      case "Fastweb": 
       $img = "<img src='images/fastweb.png' alt='Fastweb' />"; 
       break; 
      case "TIM": 
       $img = "<img src='images/telecom-italia.png' alt='TIM' />"; 
       break; 
     } 
     $table_element = "". 
      $table_element . " $img <span>$row2</span></div> 
           <div class='block'> 
            <div class='first-set-block'> 
             <span class='s2'>Download</span><br /><span class='s3'>$row3 Mbps</span> 
            </div> 
            <div class='first-set-block'> 
             <span class='s4'>ATTIVAZIONE</span><br /><span class='s5'>GRATUITA</span> 
            </div> 
           </div> 
           <div class='block'> 
            <div class='block-header'> 
             Costo standard 
            </div> 
            <div class='block-describe-standard'> 
             <span class='s6'>&#8364; $row4</span> 
            </div> 
           </div> 
           <div class='block'> 
            <div class='block-header'> 
             Promozione 
            </div> 
            <div class='block-describe-promozione'> 
             <span class='s7'>&#8364; $row5</span> 
            </div> 
           </div> 
           <div class='block'> 
            <div class='block-header-last'> 
             Costo 1 anno 
            </div> 
            <div class='block-describe-costo'> 
             <span class='desc1'>&#8364; 21</span> 
             <span class='desc2'>.32<br />&#8364;/mese</span> 
             <button class='ordina-offerta'>Ordina</button> 
            </div> 

           </div> 
           </div> 
           <div class='black'> 
            </div> 
           <div class='popup' id='pop".$row0."'> 
           <form method='post' action='off.php'> 
            <span class='close'>&times;</span> 


            <table width='100%' style='text-align: center;'> 
             <tr> 
              <td>Nome: </td><td><input type='text' name='nome' /></td> 
             </tr> 
             <tr> 
              <td>Cognome: </td><td><input type='text' name='cognome' /></td> 
             </tr> 
             <tr> 
              <td>id: </td><td><input type='text' name='id' value=\"$row0\" /></td> 
             </tr> 
             <tr> 
              <td colspan='2'><input type='submit' value='Carica' class='carica' /></td> 
             </tr> 
            </table> 
           </form> 
           </div>"; 

       return $table_element; 
      } 
?> 

aber aus irgendeinem Grunde ich will, dass der div schwarz und div Popup-Kind des div class Tab sein, aber wenn ich den Code aus, dass zu ändern oben zu dieser doesn des Submit-Button‘ t arbeiten.

<?php 
function table_values($row0,$row1,$row2,$row3,$row4,$row5){ 

    $table_element = "<div id=\"$row0\" class='tab'> 
            <div class='tab-header'>"; 
     switch ($row1) { 
      case "Tiscali": 
       $img = "<img src='images/tiscali.png' alt='Tiscali' />"; 
       break; 
      case "Infostrada": 
       $img = "<img src='images/infostrada.png' alt='Infostrada' />"; 
       break; 
      case "Fastweb": 
       $img = "<img src='images/fastweb.png' alt='Fastweb' />"; 
       break; 
      case "TIM": 
       $img = "<img src='images/telecom-italia.png' alt='TIM' />"; 
       break; 
     } 
      $table_element = "". 
       $table_element . " $img <span>$row2</span></div> 
          <div class='block'> 
           <div class='first-set-block'> 
            <span class='s2'>Download</span><br /><span class='s3'>$row3 Mbps</span> 
           </div> 
           <div class='first-set-block'> 
            <span class='s4'>ATTIVAZIONE</span><br /><span class='s5'>GRATUITA</span> 
           </div> 
          </div> 
          <div class='block'> 
           <div class='block-header'> 
            Costo standard 
           </div> 
           <div class='block-describe-standard'> 
            <span class='s6'>&#8364; $row4</span> 
           </div> 
          </div> 
          <div class='block'> 
           <div class='block-header'> 
            Promozione 
           </div> 
           <div class='block-describe-promozione'> 
            <span class='s7'>&#8364; $row5</span> 
           </div> 
          </div> 
          <div class='block'> 
           <div class='block-header-last'> 
            Costo 1 anno 
           </div> 
           <div class='block-describe-costo'> 
            <span class='desc1'>&#8364; 21</span> 
            <span class='desc2'>.32<br />&#8364;/mese</span> 
            <button class='ordina-offerta'>Ordina</button> 
           </div> 

          </div> 

          <div class='black'> 
           </div> 
          <div class='popup' id='pop".$row0."'> 
          <form method='post' action='off.php'> 
           <span class='close'>&times;</span> 


           <table width='100%' style='text-align: center;'> 
            <tr> 
             <td>Nome: </td><td><input type='text' name='nome' /></td> 
            </tr> 
            <tr> 
             <td>Cognome: </td><td><input type='text' name='cognome' /></td> 
            </tr> 
            <tr> 
             <td>id: </td><td><input type='text' name='id' value=\"$row0\" /></td> 
            </tr> 
            <tr> 
             <td colspan='2'><input type='submit' value='Carica' class='carica' /></td> 
            </tr> 
           </table> 
          </form> 
          </div></div>"; 

       return $table_element; 
      } 
?> 

Weiß jemand warum? Ich muss sie Kinder der Tab-Klasse aus jQuery Gründen, um die parent() Funktion zu verwenden. Vielen Dank im Voraus, hoffe, dass ich klar war.

+1

"hoffe, dass ich klar war" - Sie waren nicht klar. Wie können wir wissen, warum müssen Sie die "Tab" -Klasse für Div verwenden? – user4035

+0

Ok, ich bin ein bisschen neu und der Code ist nicht vollkommen klar, ich wollte sie Kinder der Registerkarte Klasse für diese jquery Code machen – ManoS

+0

Ich sehe keinen JQuery-Code in Ihrer Frage. Bitte geben Sie ein minimales Arbeitsbeispiel wie hier beschrieben an: http://stackoverflow.com/help/mcve – user4035

Antwort

0

Formulare, die von Grund auf neu erstellt werden (mit JS), werden nicht korrekt behandelt, da sie nach dem Laden in die Seite eingefügt wurden, da sie über dem Code angezeigt wird. Stattdessen können Sie das Formular mit dem HTML-Code erstellen und danach können Sie Elemente mit JS gemäß den Daten vom Server (PHP-Code) ändern.
Hoffe, das hilft.

+0

ein bisschen, aber trotzdem denke ich, dass es besser ist, den gesamten Projektcode anzuzeigen Die Idee, wie ich diese Art von Weg gewählt habe, wie ich sagte, ist ein Web mit Angeboten und alle Angebote und Preise sind in db gespeichert, und wenn ich die Werte abrufe, baue ich dynamisch die Tabelle mit einigen div Tags und drinnen habe ich Ein verstecktes Dialogfenster mit schwarzem Bildschirm, das als Popup angezeigt wird, wenn der Kunde auf das Angebot klickt, das Popup hat den Namen des Namensfelds und die ID In der Tat habe ich darüber nachgedacht, es zu verstecken und diese ID zu werfen, ich weiß, dass dieser Kunde mit diesem Namen und diesem Vornamen dieses Angebot will. – ManoS

+0

Ich arbeite gerade an einem ähnlichen Projekt wie Sie, und ich kann Ihnen sagen, dass% 100 dynamisch generierten Inhalt ein großer Fehler ist, was Sie tun können, ist das Haupt-Design mit Ihrem HTML-Code wie "und die Daten, die von der DB kommen, wären besser, wenn es JSON ist und gemäß den kommenden Parametern können Sie die Elementeigenschaften mit JQuery ändern. – MrMisery

+0

Ja jetzt sehe ich deinen Punkt, nein ist tatsächlich mysql, ich weiß nicht, JSON hat nie versucht, es zu lernen, um ehrlich zu sein, da ich ein bisschen neu in der Webentwicklung bin, dachte ich, dass es besser ist, mit ein oder zwei zu bleiben Dinge und versuchen, sie so viel wie möglich zu lernen und dann in Zukunft ein Shooting zu JSON oder Node.js oder andere Arten und Techniken im Web entwickeln lernen – ManoS

0

Dies ist der JQuery Teil wich ist auf der Hauptseite sind ..

 

    
    $(document).ready(function(){ 
      $('.tab').click(function(){ 
      var id=$(this).attr('id'); 
       $('#black' + id).fadeIn(); 
       $('#pop' + id).fadeIn(); 
       return false; 
      }); 
      $('.close').click(function(){ 
      var id=$(this).parent().parent().parent().attr('id'); 
       $('#black' + id).fadeOut(); 
       $('#pop' + id).fadeOut(); 
       $('.grazie-popup').fadeOut(); 
       return false; 
      }); 
      $('.black').click(function(){ 
      var id=$(this).parent().attr('id'); 
       $('#black' + id).fadeOut(); 
       $('#pop' + id).fadeOut(); 
       $('.grazie-popup').fadeOut(); 
       return false; 
      }); 
      if ($('.grazie-popup').length) { 
       $('#black').delay(400).fadeIn(); 
       $('.grazie-popup').delay(600).fadeIn(); 
      } 
     }); 


Und das Problem ist, wie ich zuvor erklärt, wenn ich die < div class = „black“ machen wollen> und < div class = "popup"> childs von < div class = "tab"> der Submit-Button funktioniert nicht.