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 - 13: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 (1559)
am 15.02.2011 - 14: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 - 15: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 - 15: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 - 15: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 - 15: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 - 16: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 - 16: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 - 16: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 - 16: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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 6 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 21 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