php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.05.2010, 14:30  
Erfahrener Benutzer
 
Registriert seit: 06.03.2009
Beiträge: 166
PHP-Kenntnisse:
Anfänger
strgg ist zur Zeit noch ein unbeschriebenes Blatt
Standard Dynamische Funktion für Formular

Hallo

ich hab ein simples Formular ...
http://joomla.byethost16.com/php.php
... welches bei Auswahl von Radiobuttons unterschiedliche felder anzeigt.
Klickt mal auf "Text", "Spacer" oder "Select" und Ihr seht die diversen Felder.

Bei den Radiobuttons "Select", "Checkbox" und "Radio" reihen sich durch Klick auf "add" neue Felder mit Appendchild an.

Ziel: die letzte Reihe "param_1" nun auf klick ebenfalls nochmals hinzuzufügen, param_2, param_3, param_4,...

Problem: Meine bisherigen Funktionen "text,"textarea",... nutzen getelementsbyId und würden auf Klick von param_1 z.B. auch param_2, param_3... triggern.

"This" kann ich ja nicht nutzen. Wie geht man so etwas an? Wahrscheinlich ist mein Ansatz bisher gänzlich falsch?

Im Sourcecode kann man meinen gesamten Code einsehen.

Danke für Anstösse in die richtige Richtung
strgg ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.05.2010, 16:30  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von strgg Beitrag anzeigen
Im Sourcecode kann man meinen gesamten Code einsehen.
Erwarte bitte nicht, dass sich irgendjemand in deinen unkommentierten Code „reindenkt“.


Von deiner Problembeschreibung habe ich nicht viel verstanden, ist mir zu konfus.
Aber vermutlich willst du nur an irgendeiner Stelle die Objekte, mit denen deine Funktionen arbeiten, nicht fest kodieren, sondern sinnvoll parametrisiert dynamisch halten - so das die jeweilige Funktion die gleiche Aktion auf unterschiedlichen Objekten durchführen kann.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 13.05.2010, 16:40  
Erfahrener Benutzer
 
Registriert seit: 06.03.2009
Beiträge: 166
PHP-Kenntnisse:
Anfänger
strgg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Erwarte bitte nicht, dass sich irgendjemand in deinen unkommentierten Code „reindenkt“.
Sorry, habs jetzt nachträglich kommentiert.

Zitat:
Aber vermutlich willst du nur an irgendeiner Stelle die Objekte, mit denen deine Funktionen arbeiten, nicht fest kodieren, sondern sinnvoll parametrisiert dynamisch halten - so das die jeweilige Funktion die gleiche Aktion auf unterschiedlichen Objekten durchführen kann.
Genau, weiss aber nicht mit welchem Ansatz ich dies bewerkstelligen kann/soll.
strgg ist offline   Mit Zitat antworten
Alt 13.05.2010, 16:43  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von strgg Beitrag anzeigen
Genau, weiss aber nicht mit welchem Ansatz ich dies bewerkstelligen kann/soll.
Und ich weiss immer noch nicht, wo genau dein Problem liegt.

Überlege dir zunächst, was du variabel halten möchtest.
Und dann überlege dir, wie du das erreichen kannst.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 13.05.2010, 17:20  
Erfahrener Benutzer
 
Registriert seit: 06.03.2009
Beiträge: 166
PHP-Kenntnisse:
Anfänger
strgg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die struktur ist so

Zitat:
param1->button11(value11,value12,..)-button12-button13..
param2->button21(value21,value22,..)-button22-button23
Ziel: Funktion für die appendchild felder auch nutzbar machen
PHP-Code:
function text(){    
if (
document.getElementById('button11').checked true){
    
document.getElementById('feld').style.display '';
        
document.getElementById('feld2').style.display 'none';
        
document.getElementById('feld4').style.display 'none';
}} 
ich weiss nun nicht wie ich eine funktion schreiben kann welche das "increasing" mitmacht. Nehme ich getElementsById so muss bei appenChild ja auch die ID zunehmen und i eine Variable in der allgemeinen Funktion darstellen. "This" kann ich ja glaub ich nicht gebrauchen, da die angesprochenen div's extern sind. Hat JS einen Selectionsmechanismus bei welchem von "this" z.b. x html elemente zurückgegangen wird?

Bin noch relativ grün bei JS, mit welcher Thematik in JS sollte ich mich hinsichtlich meiner Fragestellung tiefer befassen? dom,xpath eventuell auch?

Ja, das wie welcher Ansatz, bin auch bereit "neu anzufangen" falls mein bisheriger Ansatz zu statisch war. Danke für Richtungsweisungen

Danke
strgg ist offline   Mit Zitat antworten
Alt 13.05.2010, 17:32  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich finde das Vorgehen über die generischen IDs generell falsch. Die mögen zwar bequemer anzusprechen sein, alles andere wird aber komplizierter. Für solche Fälle ist das name-Attribut und Array-Bezeichner viel sinnvoller. Du solltest auch darüber nachdenken die Felder nach dem Selektor (Radios) zu gruppieren, um dann bspw. alle Elemente in einer Gruppe anzusprechen. <fieldset> böte sich hier an. Womit sich aber der Nachteil ergibt, dass Du die Felder nicht Selektor-übergreifend verwenden kannst (und damit die Inhalte).
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 14.05.2010, 16:50  
Erfahrener Benutzer
 
Registriert seit: 06.03.2009
Beiträge: 166
PHP-Kenntnisse:
Anfänger
strgg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo

Wie schaff ich dann die funktionen (text(),textarea(),..) allgemein gültig zu erklären damit hier

http://joomla.byethost16.com/php.php

die Funktion auch für Param4 gilt und ohne dass ich für jeden Param die Funktion neu schreiben muss.
Die Nummerierung der Felder id's kann ich easy aufsteigend machen falls nötig, nur die Funktion müsste halt ebenfalls dynamisch sein.

Hab schon überlegt mit .parentNode.id oder .length (dabei jedes neue Feld/Param mit einer Stelle mehr) doch ich hab keine Idee wie ich damit den Funktionsinput "text(was hier)", "textarea(was hier)" allgemein gültig hinbekomme.

Das Nameattibut stellt mich grundsätzlich vor das gleiche Problem wie die Id

Thanks
strgg ist offline   Mit Zitat antworten
Alt 14.05.2010, 16:52  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Wie schaff ich dann die funktionen (text(),textarea(),..) allgemein gültig zu erklären damit hier

http://joomla.byethost16.com/php.php

die Funktion auch für Param4 gilt und ohne dass ich für jeden Param die Funktion neu schreiben muss.
Verstehe die Frage nicht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 14.05.2010, 17:21  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von strgg Beitrag anzeigen
Wie schaff ich dann die funktionen (text(),textarea(),..) allgemein gültig zu erklären damit hier [...] die Funktion auch für Param4 gilt und ohne dass ich für jeden Param die Funktion neu schreiben muss.
Na in dem du dir überlegst, was alles als Parameter an die Funktion übergeben, welche Teile des Scriptes/der Objekte, die die Funktion ver-/bearbeitet, variabel gehalten werden sollen - und dich dann ggf. informierst, wie man das im jeweiligen Umfeld macht. (Wie es bspw. beim Zugriff auf Formulare und deren Elemente geht, den Namen variabel zu halten, steht hier beschrieben: SELFHTML: JavaScript / Objektreferenz / elements, Schema #4.)
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 15.05.2010, 19:42  
Erfahrener Benutzer
 
Registriert seit: 06.03.2009
Beiträge: 166
PHP-Kenntnisse:
Anfänger
strgg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Hilfe und den Link - Bin mich am einlesen.

this.parentNode.childNodes[0].id für Tabselektion, cloneNode (anstatt createElements, clonenodes erfordert updaten der id's!) und der arrayindex von getElementsByName oder getElementById verschlanken bereits deutlich den anfänglichen Code.
strgg 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
Brauche Hilfe bei Formular Singular PHP Tipps 2009 8 12.12.2009 22:34
[Erledigt] Formular ergebnisse direkt unter Formular ausgeben www.donald.com^ PHP Tipps 2009 3 16.11.2009 17:20
[Erledigt] Aus Formular verschiedene andere Formulare aufrufen melz PHP Tipps 2009 11 11.09.2009 12:27
[Erledigt] funktion aufrufen wenn andere funktion aufgerufen wird kalli.c0re PHP Tipps 2009 16 05.06.2009 13:49
[Erledigt] js funktion funktioniert nach änderungen am php teil nicht mehr xstefxanx JavaScript, Ajax und mehr 7 13.04.2009 16:09
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
PDF Formular ausfüllen mit PHP Formular oomworld PHP Tipps 2009 1 26.03.2009 19:09
funktion für html escape etc. TeazY PHP Tipps 2009 19 12.02.2009 13:19
html formular mit einer php mail funktion basti-erfurt Scriptbörse 3 07.12.2008 15:21
Formular: $POST bei Frames GSJLink PHP Tipps 2006 7 19.01.2006 19:51
variable aus if Abfrage mit in eine Funktion nehmen djrace PHP Tipps 2005-2 6 20.10.2005 15:57
[Erledigt] Formular in Formular HTML, Usability und Barrierefreiheit 4 19.10.2005 12:18
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
Funktion() anwendung -bitte um Hilfe PHP Tipps 2004-2 17 08.12.2004 11:58
[Erledigt] Daten in einem Formular ausgeben und ändern PHP Tipps 2004-2 7 07.12.2004 17:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dynamische funktion, dynamisches formular joomla, joomla dynamische formulare, php dynamische funktionen, dynamische funktion, joomla dynamisches formular, php dynamisches formular, php dynamischer funktionsname, php dynamische funktionsnamen, dynamische formulare, joomla formular dynamisch, http://www.php.de/javascript-ajax-und-mehr/67908-dynamische-funktion-fuer-formular.html, dynamisches formular php, dynamische formulare mit php, dynamische formulare javascript, joomla dynamisch formular, dynamische funktion php, dynamisches system, funkltionsaufrufe dynamischer funktionsname php, php dynamische functionsaufrufe

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:38 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