cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > Forum
Yet Another Bulletin Board

Willkommen, Gast. Bitte Einloggen oder Registrieren.
08. August 2020 um 10:10

Übersicht Übersicht Hilfe Hilfe Suche Suche Mitglieder Mitglieder Einloggen Einloggen Registrieren Registrieren
cgicorner.ch « Formmailer - Eingabefelder überprüfen »


   cgicorner.ch
   Hilfe
   CGI/Perl allgemein

   Formmailer - Eingabefelder überprüfen
« Vorheriges Thema | Nächstes Thema »
Seiten: 1 2  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken
   Autor  Thema: Formmailer - Eingabefelder überprüfen  (Gelesen 16250 mal)
Kneumi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 9
Formmailer - Eingabefelder überprüfen
« am: 23. Juli 2009 um 22:31 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo zusammen!
Ich habe den formmailer installiert (mit Admin-Oberfläche) und soweit eingerichtet, dass er schon einmal funktioniert. Womit ich aber nicht zurecht komme ist die Funktion zur Kontrolle von Pflicht-Feldern.
Bisher wird der Benutzer per Template auf eine Fehlerseite weitergeleitet (anfrage_fehler.template) Nun möchte ich aber, das keine externe Fehlerseite angezeigt wird, sondern die Fehler auf der ursprünglichen Formular-Eingabeseite direkt neben den unausgefüllten Formularfeldern erscheinen und die ursprünglichen Eingaben des Benutzers erhalten bleiben.
Das will mir bisher leider trotz Anleitung nicht gelingen.
 
mein Formular (anfrage.html) sieht so aus:  

<form action="../cgi-bin/formmailer/formmailer.cgi" method="post" enctype="multipart/form-data">
<input type="hidden" name="okurl" value="http://www.meinedomain.com/formulare/form_ok.html"/>
<input type="hidden" name="notokurl" value="../cgi-bin/formmailer/anfrage_fehler.template"/>
<input type="hidden" name="EMPTY_MAIL_mail" value="[email protected]"/>
<input type="hidden" name="id" value="anfrage"/>
<table border="0">
<tr valign="top">
<tr valign="top">
        <td width="150">Name der Firma</td>
        <td><input type="text" name="NNUL_firma" class="textField" /></td>
</tr>
        <td width="150">Vorname</td>
        <td><input type="text" name="NNUL_vorname" class="textField" /><!--error:NNUL_vorname§Bitte geben Sie einen Vornamen an.--></td>
</tr>
<tr valign="top">
        <td width="150"> </td>
        <td><input type="submit" value="Absenden" class="button" /></td>
</tr>
</table>

 
Im Admin-Bereich habe ich unter "URL bei Fehler" bisher anfrage_fehler stehen.
 
In meiner anfrage_fehler.template steht bisher:
<!--error:NNUL_vorname§Bitte geben Sie einen Vornamen an. -->
<!--if:action!parsetemplate§<p class="sysMsg">Das Formular wurde unvollständig oder fehlerhaft ausgefüllt.&lt;/p>-->

 
Vielleicht kann mir ja jemand weiterhelfen. Was muss ich ändern bzw- berichtigen? Vielen Dank!
Kneumi
« Zuletzt bearbeitet: 23. Juli 2009 um 22:33 von Kneumi » gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer - Eingabefelder überprüfen
« Antworten #1 am: 23. Juli 2009 um 22:39 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Kneumi
 
Grundsätzlich solltest du bei Fehlern im Ursprungstemplate nie mit HTML-Seiten arbeiten, für die Fehler-Seite sind nur Templates erlaubt, da diese verarbeitet werden müssen, sonst arbeitest du also doppelt.
 
Gehe so vor:
kopiere resp. verschiebe die annfrage.html in das Formmailer-Verzeichnis im cgi-bin und benenne sie z.B. "anfrage-form.template".
 
Der ursprüngliche Link soll nun  
.....formmailer.cgi?action=parsetemplate&template=anfrage-form
heissen (statt anfrage.html). Damit hast du das leere Formular
 
Im Adminbereich trägst du unter Fehler-URL einfach "anfrage-form.template" ein.
 
Dann müsste es eigentlich funktionieren. Melde dich nochmals, wenn's Probleme gibt und sag mir mal, ob der ursprünliche Aufruf funktioniert (parsetemplate) oder ob's bereits da Probleme gibt.
 
Gruss
Jürg
 
PS: Bei der Verwendung des Adminbereichs reicht das versteckte Feld "id". "okurl" und "notokurl" kannst du aus dem Formular löschen, das definierst du ja via Adminbereich.
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Kneumi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 9
Re: Formmailer - Eingabefelder überprüfen
« Antworten #2 am: 23. Juli 2009 um 22:55 »
Zitieren Zitieren Bearbeiten Bearbeiten

HAAAAAA es funktioniert!
Und den Preis für die superschnellste Antwort aller Zeiten gibt es obendrauf!
 
echt super, riesengroßes Dankeschön! @Jürg
 
Eine Frage noch: meine anfrage-form.template beginnt jetzt im Quelltext wie eine ganz normale html-Datei  
<html>
<head>
<style type="text/css">
...

 
Passt das so? oder verträgt die .template kein html oder z.B. Gestaltung durch stylesheets? Kann ich z.B. die Fehler-Meldungen rot einfärben?
« Zuletzt bearbeitet: 23. Juli 2009 um 22:59 von Kneumi » gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer - Eingabefelder überprüfen
« Antworten #3 am: 23. Juli 2009 um 23:05 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Kneumi
 
Bitte. Das mit den HTML-Tags ist OK. Grundsätzlich ist ein FORM-Template eine ganz normale HTML-Seite und wird so an den Browser übermittelt, du kannst alles verwenden, also auch Bilder oder CSS (bei externen Quellen einfach daran denken, dass ausgehend vom cgi-bin/formmailer Verzeichis aus referenziert wird, also am besten absolute Pfade wie "/images/test.jpg" und nicht "images/test.jpg" angeben, "../../images/test.jpg" würde natürlich auch funktionieren).
 
Das einzige, was FormMailer vor der Auslieferung des Templates an den Browser verarbeitet sind Kommentare, also <!--  -->, so kannst du ja auch die benutzerdefinierten Fehler anzeigen.
 
Ach ja: ich weiss nicht ob benötigt oder bereits realisiert: natürlich hast du - wie bei den Mailtemplates - auch Zugriff auf die eingegebenen Werte, also <!--meinfeld-->, mit
 
<input type="text" name="NNUL_firma" class="textField" value="<!--NNUL_firma-->" />
 
zeigst du also bei einem Fehler im Feld "NNUL_firma" wieder den Wert an, den er eingegeben hat. So erspart man dem Benutzer Arbeit. Bei deinem Demo-Template mit zwei Feldern, wovon er ja mind. eines nicht ausgefüllt haben muss um die Fehlerseite zu sehen vielleicht nicht so wichtig, aber die eingegebenen Werte wieder vorbelegen macht das Formular natürlich perfekt.
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer - Eingabefelder überprüfen
« Antworten #4 am: 23. Juli 2009 um 23:08 »
Zitieren Zitieren Bearbeiten Bearbeiten

Zu Fehlermeldungen in Rot: auch kein Problem: du hast hier wieder vollen HTML-Code zur Verfügung, also z.B. mit CSS:
 
<!--error:NNUL_vorname§<span class="Fehler">Bitte geben Sie einen Vornamen an.</span>-->
 
oder ohne CSS
 
<!--error:NNUL_vorname§<span style="color:#ff0000;">Bitte geben Sie einen Vornamen an.</span>-->
 
Kannst theoretisch bei Fehlern auch Bilder einfügen etc. Wirklich volle HTML-Funktionalität (zwei Einschränkungen: es muss alles auf einer Zeile stehen und der End-Tag "-->" darf natürlich nicht im Code vorkommen)
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Kneumi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 9
Re: Formmailer - Eingabefelder überprüfen
« Antworten #5 am: 23. Juli 2009 um 23:44 »
Zitieren Zitieren Bearbeiten Bearbeiten

Wird ja immer besser! Hab ich sofort alles eingebaut   Cheesy
 
Jetzt habe ich nur noch ein Problem, und zwar schickt er das Formular auch, wenn die Absender-Email-Adresse nicht angegeben ist. Es erscheint dann die "URL, wenn Formular OK"-Seite.
 
Im Formular hab ich:
<tr valign="top">
        <td width="150">E-Mail</td>
        <td><input type="text" name="NMAIL_mail" class="textField" />* <!--error:NMAIL_mail§Bitte geben Sie eine Email an.--></td>
</tr>

 
wie mach ich das zum Pflichtfeld? Ich dachte NMAIL ist schon die Angabe für Pflicht-Email, oder ist das mit NNUL zu machen?
Überprüft NMAIL automatisch auf formale Richtigkeit (@ .de etc.)?
« Zuletzt bearbeitet: 23. Juli 2009 um 23:50 von Kneumi » gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer - Eingabefelder überprüfen
« Antworten #6 am: 24. Juli 2009 um 00:05 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Kneumi
 
Das Feld heisst nicht NMAIL sondern NNMAIL (NOT NULL MAIL). Und ja das prüft auf formale Richtigkeit, also @ Zeichen, keine Leer- und Sonderzeichen, Domain-Endung. Die komplette Liste aller Feldtypen findest du auch in der formmailer.htm.
 
Die Wichtigsten:
NNUL_: Pflichtfeld,ist aber alles erlaubt
NNMAIL_: Pflichtfeld E-Mail
MAIL_: E-Mail Feld, prüft auf formale Richtigkeit, ist aber nicht Pflicht (leer und [email protected] also erlaubt, "hallo" aber nicht)
 
Gruss
Jürg
« Zuletzt bearbeitet: 24. Juli 2009 um 00:06 von cgicorner.ch » gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Kneumi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 9
Re: Formmailer - Eingabefelder überprüfen
« Antworten #7 am: 24. Juli 2009 um 00:19 »
Zitieren Zitieren Bearbeiten Bearbeiten

am 24. Juli 2009 um 00:05, schrieb cgicorner.ch :
Hallo Kneumi
 
Das Feld heisst nicht NMAIL sondern NNMAIL

 
Da nehme ich jetzt als Euphorie+Übermüdung als Entschuldigung und verabschiede mich ins Bett  Wink Formular klappt jetzt 1A - super!  Smiley
 
Kneumi
gespeichert
Kneumi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 9
Re: Formmailer - Eingabefelder überprüfen
« Antworten #8 am: 28. Juli 2009 um 22:44 »
Zitieren Zitieren Bearbeiten Bearbeiten

Eine Frage ist noch aufgetaucht:
 
Kann es sein, dass die Fehlermeldungen
 
>><!--error:NNUL_vorname§<span style="color:#ff0000;">Bitte geben Sie einen Vornamen an.&lt;/span>-->  
 
sowie das Übernehmen von Werten mit  
 
>>value="<!--NNUL_firma-->"  
 
inkl. dem Abrufen des leeren Formulars über die URL
 
>> formmailer.cgi?action=parsetemplate&template=form_partner2
 
nur funktionieren, wenn die formmailer.cgi und die Templates im gleichen Verzeichnis liegen?
 
Konkret ist bei mir die formmailer.cgi im Verzeichnis (root/)cgi-bin/formmailer/ und die Templates hätte ich am liebsten dort, wo alle meine Content-Seiten sind, unter (root/)/sites . Bisher funktinieren die Fehlermeldungen & Co. bei mir aber nur, wenn alles in einem Verzeichnis liegt.
gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer - Eingabefelder überprüfen
« Antworten #9 am: 28. Juli 2009 um 22:54 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Kneumi
 
Ja, das ist so. Da stecken Sicherheitsüberlegungen dahinter, sonst könnte man ja via parse-template auch das passwds-File oder so auslesen. Ich würde dir dringend abraten, dies zu korrigieren (bei Bedarf sende ich dir die Infos, wo das geprüft wird).
 
So oder so: da das Template eingebunden wird gilt IMMER das Verzeichnis der formmailer.cgi als Ausgangsverzeichnis für relative Links, egal wo die Templates liegen würden. Links müsstest du also sowieso anpassen, wäre nur der Ordnung halber.
 
Aber eben: aus Sicherheitsgründen würde ich dir DRINGEND davon abraten, mit einer Umgehung dieser Sicherheitsrichtlinien nur der Kosmetik halber so ein Risiko einzugehen.
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Kneumi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 9
Re: Formmailer - Eingabefelder überprüfen
« Antworten #10 am: 29. Juli 2009 um 11:45 »
Zitieren Zitieren Bearbeiten Bearbeiten

Lieber Jürg,
ich habe das Formular so wie geplant mit den Templates im gleichen Verzeichnis wie das .cgi gemacht. Klappt auch alles wunderbar. Toll ist, dass eingegebene Formularwerte beibehalten werden, wenn das Formular unvollständig ausgefüllt wurde.
 
am 23. Juli 2009 um 23:05, schrieb cgicorner.ch :

Ach ja: ich weiss nicht ob benötigt oder bereits realisiert: natürlich hast du - wie bei den Mailtemplates - auch Zugriff auf die eingegebenen Werte, also <!--meinfeld-->, mit
 
<input type="text" name="NNUL_firma" class="textField" value="<!--NNUL_firma-->" />
 
zeigst du also bei einem Fehler im Feld "NNUL_firma" wieder den Wert an, den er eingegeben hat. So erspart man dem Benutzer Arbeit.

 
Das Übernehmen der Werte klappt bei mir aber bisher nur bei normalen Eingabezeilen und -feldern. Frage: Können auch bei Checkboxen und Auswahllisten die Werte beibehalten werden und wenn ja, wie? Ich habe das bisher nicht geschafft. Hatte es bei Auswahllisten wie folgt versucht:
Zitat:

    <dt><label for="anrede">Anrede / Vorname<em title="Pflichtfeld">*</em> / Nachname<em title="Pflichtfeld">*</em></label></dt><br>
    <dd><select name="anrede" id="anrede" value="<!--anrede-->">
      <option value="herr">Herr</option>
      <option value="frau">Frau</option>
      </select>
    </dd>

 
und bei Checkboxen so:
Zitat:

<dt><label for="check">Art des Gewerbes (mehrere Nennungen möglich)<em title="Pflichtfeld">*</em></label></dt>
    <dt>     </dt>
    <dd>
      <table class="checkText" width="100%"  border="0" cellspacing="0" cellpadding="0">
               <tr>
          <td> </td>
               </tr>
 
          <tr>
          <td>    <input type="checkbox" name="gewerbe" value="laden" id="check" value="<!--laden-->" />
          <span>
                <label for="checkbox">Ladengeschäft</label>
          </span></td>
          <td>    <input type="checkbox" name="gewerbe" value="gross" id="check" />
          <span>
                <label for="checkbox">Großhändler</label>
          </span></td>
          <td>    <input type="checkbox" name="gewerbe" value="sonstiges" id="check" />
          <span>
                <label for="checkbox">Sonstiges:</label>
          </span></td>
        </tr>
    </table></dd>

 
Die FILE_file konnte ich leider auch nicht übernehmen.
« Zuletzt bearbeitet: 29. Juli 2009 um 11:47 von Kneumi » gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer - Eingabefelder überprüfen
« Antworten #11 am: 29. Juli 2009 um 18:32 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Kneumi
 
Dort ist es etwas komplizierter, weil es keinen Value-Tag gibt, sondern mit SELECTED und CHECKED gearbeitet wird. Dazu benötigt es eine IF-Abfrage:
 
<input type="checkbox" name="meintest" value="aktiviert" <!--if:meintest!§checked-->/>
 
Bei den Auswahlfeldern:
 
<select name="meintest2">
<option value="test1" <!--if:meintest2=test1§selected-->>Text zu test1</option>
<option value="test2" <!--if:meintest2=test2§selected-->>Text zu test2</option>
<option value="test3" <!--if:meintest2=test3§selected-->>Text zu test3</option>
<option value="test4" <!--if:meintest2=test4§selected-->>Text zu test4</option>
<option value="test5" <!--if:meintest2=test5§selected-->>Text zu test5</option>
</select>

 
FILE_file-Felder gehen in der Tat nicht. Das Problem ist, dass man dem Browser nicht automatisiert dazu bringen kann, eine Datei nochmals zu übermitteln (sind natürlich Sicherheitsüberlegungen, damit niemand Dateien ausspionieren kann). Dazu müsste man also die hochgeladenen Dateien temporär auf dem Server speichern: das bringt gewisse Risiken, man muss schauen, dass diese Dateien irgendwann auch mal wieder gelöscht werden, ... Im Moment verzichte ich bei FormMailer auf diese Funktion (jsMarket und jsCards machen dies).
 
Ich hoffe, Checkboxen und Select-Felder funktionieren so, bei FILE-Feldern bleibt leider nur ein erneuter Upload.
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Kneumi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 9
Re: Formmailer - Eingabefelder überprüfen
« Antworten #12 am: 29. Juli 2009 um 19:30 »
Zitieren Zitieren Bearbeiten Bearbeiten

Lieber Jürg,
Bei den Auswahlfeldern klappt es jetzt, bei den Check-boxes aber leider noch nicht, da der Fall hier noch etwas komplizierter ist:
 
  • Ich habe mehrere zusammengehörige Checkboxen
  • von denen MUSS mindestens eine angeklickt werden, sonst soll eine Fehlermeldung kommen - deshalb hatte ich NNULL verwendet
  • man kann aber auch mehrere anklicken
  • was immer angehakt wurde, soll bei einem unvollständig ausgefüllten Formular erhalten bleiben.

 
Im Code sieht es so aus:
Zitat:

<input type="checkbox" name="NNUL_gewerbeart" value="friseur" id="check" <!--if:friseur!§checked--> />    
<input type="checkbox" name="NNUL_gewerbeart" value="laden" id="check" <!--if:laden!§checked--> />
input type="checkbox" name="NNUL_gewerbeart" value="versandhandel" id="check" <!--if:versandhandel!§checked--> />  
<input type="checkbox" name="NNUL_gewerbeart" value="sonstiges" id="check" <!--if:sonstiges!§checked--> />

 
Wenn ich in den <!--if:--> - Tags nun den "name" (NNULL_gewerbeart) einsetze, ist im Formular nahc dem Absenden dann immer alles angehakt. Setze ich wie oben den "value" ein, bleibt nichts angehakt.
 
Wie schaffe ich es, das Anhaken mindestens einer Option obligatorisch zu machen, gleichzheitig die angehakten Werte zu übernehmen und das dann auch noch korrekt im mail-template auszugeben?
gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer - Eingabefelder überprüfen
« Antworten #13 am: 29. Juli 2009 um 22:14 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Knuemi
 
HTML erlaubt keine Checkbox Mehrfachauswahl. Dafür sind Radio-Buttons da, die erlauben aber keine Mehrfachauswahl.
 
Du solltest unterschiedliche Feldnamen verwenden, sonst überschreibt sich das eine Feld gegenseitig (so wie du es jetzt hast, hättet du im Template den letzten ausgewählten Wert).
 
Du kommst in diesem Fall nicht um etwas Java-Script herum. Ich würde es so machen:
 
<input type="checkbox" name="gewart_fri" value="friseur" id="gewart_fri" onchange="change()" <!--if:gewart_fri!§checked--> />    
<input type="checkbox" name="gewart_lad" value="laden" id="gewart_lad" onchange="change()" <!--if:gewart_lad!§checked--> />  
<input type="checkbox" name="gewart_ver" value="versandhandel" id="gewart_ver" onchange="change()" <!--if:gewart_ver!§checked--> />  
<input type="checkbox" name="gewart_son" value="sonstiges" id="gewart_son" onchange="change()" <!--if:gewart_son!§checked--> />
<input type="hidden" name="NNUL_gewart" value="nojavascript" id="NNUL_gewart" />
<script language="javascript" type="text/javascript">
document.getElementById('NNUL_gewart').value='';
function change() {
 if (document.getElementById('gewart_fri').checked || document.getElementById('gewart_lad').checked || document.getElementById('gewart_ver').checked || document.getElementById('gewart_son').checked) {
  document.getElementById('NNUL_gewart').value="OK";
 } else {
  document.getElementById('NNUL_gewart').value="";
 }
}
</script>

 
Was macht das Script

  • Checkboxen haben eigene Namen und sind keine Pflichtfelder
  • es existiert ein versteckted Feld NNUL_gewart als Pflichtfeld
  • das Pflichtfeld ist mit "nojavascript" vorbeleigt und wird dann via Java-Script geleert --> wenn Java-Script deaktiviert ist klappt die Übermittlung immer, falls es aktiviert ist wird geprüft.
  • bei jedem Ändern einer Checkbox wird die Java-Script Funktion change() aufgerufen
  • diese prüft, ob mindestens eine Checkbox gefüllt ist und schreibt dann in das versteckte Feld OK, sonst wird der Inhalt gelöscht --> Pflichtfeld NNUL_gewart ist nur dann gefüllt, wenn mindestens eine Checkbox ausgewählt ist

 
Das müsste deinen Fall eigentlich abdecken, wenn du sehen willst, wie es funktioniert, mach beim versteckten Feld mal type="text" statt type="hidden", dann siehst du, wie es mit OK gefüllt und wieder geleert wird.
 
Ich hoffe, nun funktioniert's. Leider nicht ganz perfekt, ich denke aber, das funktioniert alles in allem sehr gut...
 
Gruss
Jürg
 
PS: Im Template ausgeben kannst du dann die einzelnen gewart_ Felder, das NNUL_gewart ist nur ein Dummy-Feld, dass du nicht ausgeben musst.
 
PPS: Vergiss für Java-Script bei den Checkboxen nebst dem name= das id= Attribut nicht (wie in meinem Beispiel). Die Namen sollten identisch sein.
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Kneumi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 9
Re: Formmailer - Eingabefelder überprüfen
« Antworten #14 am: 30. Juli 2009 um 09:11 »
Zitieren Zitieren Bearbeiten Bearbeiten

Wow, da geht's ja schon ans Eingemachte. Aber es funktioniert und das Formular ist so gut wie am Ziel!  Smiley
 
Eine Frage aber: Es ist wohl nicht möglich, im Javascript die einzelnen Checkboxes nicht nach ihrer ID, sondern nach ihrem name zu prüfen? Hatte es mit "getElementsByName" versucht, aber da kam im NNUL_gewart-Feld nur die Fehlermeldung "nojavascript".
Hintergrund ist der, dass ich die ID's aller input-Felder im Formular bisher fürs Layout über .css nutze. Bei den anderen Eingabefeldern sind daher "ID" und "name" mitunter unterschiedlich. Da die 4 Checkboxes das gleiche Layout haben sollen, hatten sie bisher auch die gleiche ID, auf die die stylesheets dann zugriffen.  
Wenn das Ansteuern im Javascript nur über die ID funktioniert, ist es kein Beinbruch, dann muss ich im .css halt 4 Klassen statt einer definieren. Insbesondere wenn man nicht nur eine, sondern zwei oder drei solche Checkbox-Abfragen hat, hätte man dann allerdings schnell sehr viele zusätzliche .css-Klassen (ich habe bisher im Formular allerdings nur eine solche Checkbox-Serie). Im Sinne eines schlanken Codes frage ich aber vorher lieber nach.  
 
DANKE schon (wieder) mal!
gespeichert
Seiten: 1 2  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken

« Vorheriges Thema | Nächstes Thema »

cgicorner.ch » Powered by YaBB 1 Gold - SP3!
YaBB © 2000-2004. All Rights Reserved.