php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.01.2012, 18:54  
Benutzer
 
Registriert seit: 23.10.2009
Beiträge: 93
PHP-Kenntnisse:
Anfänger
rejoice befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] dynamische Buttons im Formular - kann man verschiedene Daten senden?

Hallo

ich habe eine Formular mit mehreren radio-buttons, dazu habe ich dynamisch erstellte buttons d.h. das formular kann zb 2 oder auch 20 buttons haben.

Nun soll je nachdem welcher button geklickt wurde, unterschiedliche werte über <input type="hidden" name="test" value="<?=$nr;?>" /> gesendet werden , die radio-buttons sollen aber immer mitgesendet werden da die Werte immer gleich sind.

Wie kann ich das lösen? Ich benötige bitte einen Ansatz.

Momentan hab ich für jeden button ein einzelnes dynamisch erzeugtes formular wo das versteckte Feld eingebunden ist. (über schleife)

Dies klappt auch ganz gut aber wenn ich die radio-buttons einbauen werden diese sooft eingebunden wie es buttons gibt (da schleife)

dazu sei noch gesagt das es eine unterschiedliche Anzahl an Radiobuttons gibt - da es darauf ankommt wieviele Optionen ein Artikel hat.

Anschauung: http://pizza.mirkoboehm.de/index.php?kategorie=6

Geändert von rejoice (30.01.2012 um 18:57 Uhr).
rejoice ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.01.2012, 20:22  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Du kannst den SubmitButton einen Namen geben. Diese Variable ist nur gesetzt, falls genau dieser Button gedrückt wurde.
Damit könntest du z.B. dann herausfinden, Felder jetzt benötigt werden.

Andere Möglichkeiten würde alle auf JS basieren.
ChrisvA ist offline   Mit Zitat antworten
Alt 30.01.2012, 22:52  
Benutzer
 
Registriert seit: 23.10.2009
Beiträge: 93
PHP-Kenntnisse:
Anfänger
rejoice befindet sich auf einem aufstrebenden Ast
Standard

das problem ist das ich den namen vorher nicht weiß da es dynamisch ist... das ist mein problem.

wie könnte ich es mit javascript lösen?
rejoice ist offline   Mit Zitat antworten
Alt 30.01.2012, 23:11  
Erfahrener Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 681
PHP-Kenntnisse:
Anfänger
Harry_X befindet sich auf einem aufstrebenden Ast
Standard

versteh ich nicht. Wieso managst du das nicht über einen Array, in dem jeder Button ein zugehöriges hidden field hat mit dem jeweils gleichen Index?
Harry_X ist offline   Mit Zitat antworten
Alt 31.01.2012, 04:30  
Neuer Benutzer
 
Registriert seit: 31.01.2012
Beiträge: 2
PHP-Kenntnisse:
Fortgeschritten
Crlf befindet sich auf einem aufstrebenden Ast
Standard

Du willst also quasi per Javascript(nehmen wir einfach mal an Jquery) sowas machen?

Code:
$(document).ready(function() {
  $('button').click(function(){
     $('input[name="$(this).attr("name")"]').val($(this).attr("id"));
  });
});
Der Code würd jetzt im Falle eines Klicks auf einen Button einem bestimmten input Feld(in deinem Falle dein hidden field), welches den Namen des buttons hat, als value die id des Buttons geben. Ist nur ein Beispiel(untested), aber so soll es wohl aussehen, oder?
Wenn du das ganze danach noch absenden willst siehe http://api.jquery.com/jQuery.post/

Das was ChrisvA sagte trifft auch zu, auch wenn die buttons dynamisch sind kannst du ja im gleichen Atemzug auch die Submitbuttons dynamisch machen.

Es gibt unzählige Lösungen für dein Problem.

Gruß

Crlf
Crlf ist offline   Mit Zitat antworten
Alt 31.01.2012, 06:39  
Benutzer
 
Registriert seit: 23.10.2009
Beiträge: 93
PHP-Kenntnisse:
Anfänger
rejoice befindet sich auf einem aufstrebenden Ast
Standard

danke erstmal für eure tollen Vorschläge
wie kann ich denn immer den gleichen index verwenden? das versteh ich nicht?!

das mit jQuery ist auch ein super Ansatz

als eigenen ansatz hätte ich gedacht das ich je nach click auf dem button eine andere URL aufrufe wo alle daten verschlüsselt übermittelt werden,
aber das gefällt mir nicht so ganz da es dann nicht per POST funktioniert

Geändert von rejoice (31.01.2012 um 06:47 Uhr).
rejoice ist offline   Mit Zitat antworten
Alt 31.01.2012, 07:31  
Benutzer
 
Registriert seit: 23.10.2009
Beiträge: 93
PHP-Kenntnisse:
Anfänger
rejoice befindet sich auf einem aufstrebenden Ast
Standard

Ich habe das nun wie folgt gelöst:

Ich habe nun ein Formular um alle buttons gelegt und dort ein hidden-input-feld erstellt.
Wenn ein button geklickt wird, wird der zugehörige wert in das hidden-input-feld geschrieben und dann das formular über die im formularkopf angegebene url abgeschickt.

Bei mir klappt dies wunderbar.

Nun meine frage:
kann es passieren dass das formular eher abgesendet wird als die daten per onclick in das hidden-input-feld geschrieben werden?
Wie könnte ich das verhindern?

Geändert von rejoice (31.01.2012 um 08:34 Uhr).
rejoice ist offline   Mit Zitat antworten
Alt 31.01.2012, 17:08  
Benutzer
 
Registriert seit: 23.10.2009
Beiträge: 93
PHP-Kenntnisse:
Anfänger
rejoice befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von rejoice Beitrag anzeigen
Ich habe das nun wie folgt gelöst:
Nun meine frage:
kann es passieren dass das formular eher abgesendet wird als die daten per onclick in das hidden-input-feld geschrieben werden?
Wie könnte ich das verhindern?

Jemand eine Idee?
rejoice ist offline   Mit Zitat antworten
Alt 31.01.2012, 18:13  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Ich würde es mit onSubmit machen, wobei ich allg. nicht viel von JS an wichtigen Stellen halte, da bei ausgeschaltetem JS die Seite unbenutzbar ist.

http://de.selfhtml.org/javascript/sp...r.htm#onsubmit
ChrisvA ist offline   Mit Zitat antworten
Alt 01.02.2012, 18:53  
Benutzer
 
Registriert seit: 23.10.2009
Beiträge: 93
PHP-Kenntnisse:
Anfänger
rejoice befindet sich auf einem aufstrebenden Ast
Standard

ich habe das nun erfolgreich mit php lösen können.
Dazu werden die in der schleife erzeugten input Felder als array angelegt, sowie bekommt der button einen bestimmten wert über die schleife

PHP-Code:
<?php
if(isset($_POST['submit']))
{
    echo 
print_r($_POST);
 
    echo 
"<br/><br/><br/>";
    
$i $_POST['submit'];
    echo 
$i."<br/>";
    echo 
$_POST['artikel_id']."<br/>";
    echo 
$_POST['artikel_name']."<br/>";
    echo 
$_POST['größen_id'][$i]."<br/>";
    echo 
$_POST['artikel_preis'][$i]."<br/>";
    echo 
"<br/><br/><br/>";
}
?>

<form action="formular.php" method="POST">
    <input type="text" name="artikel_id" value="5" /><br/>
    <input type="text" name="artikel_name" value="Pizza Salami" /><br/>
    
    <table>
        <tr>
    <?php for($i=0;$i<10;$i++)
    {
        
?>
        <td>
            <input type="text" name="größen_id[]" value="<?=rand(1,100)?>" /><br/>
            <button type="submit" name="submit" value="<?=$i;?>">Button <?=$i;?></button>
        </td>
        <?php
    
}
    
?>
    </tr>
    </table>
</form>
rejoice ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formular liest daten aus leitet aber nicht auf nächste Seite gini0_8 PHP Einsteiger 22 21.01.2012 00:20
[Erledigt] Formular an anderes Formular senden Pippo PHP Einsteiger 26 17.03.2011 08:19
Vie Formular empfangene Daten berarbeiten und an remote PHP Skript senden fr3sh PHP Einsteiger 4 27.01.2011 10:20
Anfänger in OOP /Nach Login Formular ausgeben um Daten auf Server zu übertragen sumpfbarbe PHP Tipps 2010 6 16.07.2010 13:17
Eintragen von Daten per Formular in MySQL Datenbank PHP Tipps 2004 11 07.06.2009 08:58
[Erledigt] Daten per Formular ändern Garry PHP Tipps 2008 20 19.12.2008 19:01
Problem mit Formular, Daten an datenbank senden Aurec PHP Tipps 2008 11 20.11.2008 18:17
[Erledigt] Daten im Formular zwischenspeichern (Smarty)? japsa PHP Tipps 2008 7 25.10.2008 13:58
Formular nach senden schließen Perry_Rhodan PHP Tipps 2008 1 27.03.2008 17:11
Formular übermittelt keine Daten PHP Tipps 2006 4 08.03.2006 13:09
[Erledigt] Formular (POST) übergabe von Daten PHP-Fortgeschrittene 5 23.01.2006 20:34
mehrere buttons für 1 formular HTML, Usability und Barrierefreiheit 7 23.12.2005 12:52
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
[Erledigt] Daten in neuem Formular anzeigen PHP Tipps 2004 6 21.07.2004 10:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
verscheidene sende buttons, php mehrere buttons per schleife, php formular dynamisch anpassen je nachdem was geklickt wurde, php mehrere buttons in einem formular

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum