Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

[gelöst]Webform und mehrfache Dateneingabe

Eingetragen von Ati (210)
am 15.02.2011 - 14:26 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo zusammen,

leider fiel mir kein besserer Titel ein. Also ich möchte folgendes mit dem Modul Webform gestalten.
Es soll aus einer Auswahlliste eine Zahl (1..6) gewählt werden und anschliessend werden Lieferscheinnummern
eingescannt. Da eine Zahl (genauer gesagt eine Tour) bis zu 40 Lieferscheine an einem Tag haben kann, ist es natürlich
nicht gerade optimal immer wieder die Tour auszuwählen... in das Textfeld zu klicken und dann den LS einzuscannen.
Wie bekomme ich es also hin, das sich Webform die Auswahl aus dem vorherigen Scan merkt und den Cursor sofort ins
Textfeld platziert.
Dann wäre es noch interessant, wie ich die Tabelle bestimmen kann in der die Eingaben gespeichert werden.

Danke im voraus
Ati

‹ [gelöst] Submenüpunkte in der Sidebar werden nicht mehr dargestellt Update #7061 Failed ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich denke Du solltest Dir

Eingetragen von Sense (1560)
am 15.02.2011 - 15:28 Uhr

Ich denke Du solltest Dir hier besser eine eigene Lösung mit Hilfe der Form API bauen, die mehr Flexibilität zulässt.
Desweiteren benötigst Du natürlich jQuery für das "Springen" zum nächsten Textfeld.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Spannend!! Dann werde ich

Eingetragen von Ati (210)
am 15.02.2011 - 16:00 Uhr

Spannend!! Dann werde ich mich wohl mal in die Thematik einlesen!

Edit: Gibt es vielleicht ein gutes Tutorial auf deutsch?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Södele, ich habe mich mal ein

Eingetragen von Ati (210)
am 16.02.2011 - 16:14 Uhr

Södele,

ich habe mich mal ein bissl eingelesen und 2 von 3 "Problemen" habe ich gelöst.
Ich habe ein neues Modul erstellt welches das Formular darstellt und die Daten speichert.
Hier mal der bisherige Code:

<?php
drupal_add_js
(drupal_get_path('module', 'lsrouting') .'/lsrouting.js');

function
lsrouting_menu() {
 
$items = array();
 
$items['lsrouting/form'] = array(
   
'title' => t('LS-Routing'),
   
'page callback' => 'lsrouting_form',
   
'access arguments' => array('access content'),
   
'description' => t('LS-Routing'),
   
'type' => MENU_CALLBACK,
  );
  return
$items;
}

function
lsrouting_form() {
  return
drupal_get_form('lsrouting_my_form');
}

function
lsrouting_my_form($form_state) {
$form['tour']= array(
 
'#type' => 'select',
 
'#title' => t('Tour'),
 
'#options' => array(
   
'0' => t(' '),
   
'1' => t('1'),
   
'2' => t('2'),
   
'3' => t('3'),
   
'4' => t('4'),
   
'5' => t('5'),
   
'6' => t('6'),
   ),
 
'#description' => t('Bitte Tournummer angeben!!'),
);



 
$form['au'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Lieferscheinnummer:'),
   
  );
 
 
$form['submit'] = array(
   
'#type' => 'submit',
   
'#value' => 'Speichern',
  );
  return
$form;
}

function
lsrouting_my_form_submit($form, &$form_state) {

$tour = $form_state['values']['tour'];
$au   = $form_state['values']['au'];


db_query("Insert into lsrouting (tour, au) values ('$tour', '$au')");
drupal_set_message(t('Datensatz gespeichert'));
}

?>

Damit der Cursor sofort im entsprechendem Feld sich befindet habe ich einen hilfreichen
jQuery-Code gefunden:

$(document).ready(function() {
// focus auf das erste Textfeld der Seite
$("input[type='text']:first", document.forms[0]).focus();
});

Aber ich habe aktuell keine Idee wie ich die ausgewählte Tour des vorherigen Scans als "default" beibehalten kann.
Gibt es vielleicht von euch mal einen entsprechenden Tip?

Danke im voraus!
Ati

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich denke, es gibt zwei

Eingetragen von leda.ch (977)
am 16.02.2011 - 16:32 Uhr

Ich denke, es gibt zwei Möglichkeiten:

Single-User: Mit variable_get/set arbeiten. Das wären dann die Drupal-eigenen Defaults-Variablen, für die man sich auch selbst eine Modul-Admin Seite erstellen kann:

function mymodule_admin() {
$form['mymodule_var1'] = array('#type' => 'textfield',
                                   '#title' => t('Pfad'),
                                '#default_value' => variable_get('mymodule_var1', ''),
                                '#size' => 100,
                                //'#maxlength' => 2,
                                 '#description' => t("Meine Variable."),
                                '#required' => FALSE,
                                   );

return system_settings_form($form);

Multi-User: Ablegen in die $_SESSION

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erst war ich entzückt...bis

Eingetragen von Ati (210)
am 16.02.2011 - 16:56 Uhr

Erst war ich entzückt...bis ich gemerkt habe das es da bei mir doch noch (logischerweise) Verständnisprobleme gibt.
Das Prinzip der "Single-User" Lösung ist fast so wie ich es haben will...mal abgesehen von der Buttonbeschriftung und dem
Bestätigungstext. Allerdings wird nach "return system_settings_form" nichts mehr gespeichert.
Werde es jetzt mal mit der $_Session versuchen!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

in meinem Code oben fehlt

Eingetragen von leda.ch (977)
am 16.02.2011 - 17:03 Uhr

in meinem Code oben fehlt halt die end }

function mymodule_admin() {
$form['mymodule_var1'] = array('#type' => 'textfield',
                                   '#title' => t('Pfad'),
                                '#default_value' => variable_get('mymodule_var1', ''),
                                '#size' => 100,
                                //'#maxlength' => 2,
                                 '#description' => t("Meine Variable."),
                                '#required' => FALSE,
                                   );

return system_settings_form($form);
}

Und das ist nur der Code fürs Modul, um die Variable mal zu initialisieren.
Dann die Variable einfach wo auch immer mit Variable_set() setzen und mit variable_get() holen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nun bei mir war sie aber drin

Eingetragen von Ati (210)
am 16.02.2011 - 17:06 Uhr

Nun bei mir war sie aber drin ;-). Hat trotzdem nicht gespeichert.
Mit $_SESSION klappt alles wunderbar...weiß allerdings nicht, ob dies so der richtige Weg ist.
Ich habe da so ein Talent Dinge ans laufen zu bekommen, wo andere dann die Hände überm Kopf
zusammen schlagen. Werde diesen Thread dann mal als "gelöst" markieren bevor es haue gibt!

Ati

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alles klar. Ich hätte es

Eingetragen von leda.ch (977)
am 16.02.2011 - 17:11 Uhr

Alles klar. Ich hätte es wahrscheinlich auch über die $_SESSION gelöst.
Wegen des Codes: Du hast aber schon "mymodule" durch Deinen Modul-Namen ersetzt, ja?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm ich denke, mal so nüchtern

Eingetragen von Ati (210)
am 16.02.2011 - 17:19 Uhr

Hm ich denke, mal so nüchtern betrachtet, ich hatte bei der Singler-User Lösung ein Verständnisproblem.
Allerdings hatte ich schon den Modulnamen entsprechend geändert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 4 Wochen 7 Stunden
  • Vielen Dank für Ihren
    vor 4 Wochen 3 Tagen
  • Composer ist sehr ratsam
    vor 4 Wochen 5 Tagen
  • Vielen Dank für den
    vor 5 Wochen 10 Stunden
  • Die alten CMS Vergleiche von contentmanager.de
    vor 5 Wochen 22 Stunden
  • Gut gemacht
    vor 5 Wochen 23 Stunden
  • Layout Builder etc. z.B. für Landing Pages
    vor 5 Wochen 23 Stunden
  • Links
    vor 5 Wochen 3 Tagen
  • Moin,wow, sehr gutes
    vor 5 Wochen 4 Tagen
  • Dass ist eine spannende
    vor 5 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250316
Registrierte User: 20566

Neue User:

  • Robertspaft
  • drupalthemes
  • rofilm

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 19 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association