# Via Formular Email erstellen



## shawn-man (28. Oktober 2009)

Hallo zusammen,

ich habe hier mal ein kleines Projekt von einem Freund bekommen, welches ich leider nicht so lösen kann, da mein Wissen in diesem Bereich leider nicht allzu enorm sind.

Darum gehts:
Der jeweilige Benutzer hat ein kleines Formular, welches nach Ausfüllen und Drücken des "Erstellen" Buttons eine fertig erstellte Email (outlook 2002) öffnet.

Wie bekommt man es hin das die Textfelder, wie beispielsweise KDNAME und/oder KDNR auch in den
Body oder der Betreffzeile der eMail übertragen werden?

Hier mal das, was ich bekommen habe, bzw. das was bisher gemacht wurde:


```
<html>
<title>:ServiceTicket:</title>
<head>

</head>


<table border="1" width="400">
  <tr>
    <td>
<table border="0" bgcolor="87CEFA" width="390">
  <tr>
    <td>

<font face="verdana" size="3"><b>Ticketvorlage erstellen?</b></font>
<p>
<form name="doublecombo">
<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option>Bitte Bereich wählen</option>
<option>EINKAUF</option>
<option>VERKAUF</option>
</select>
<select name="stage2" size="1">
<option value="">Bitte Team wählen</option>
</select>
</p>
<p><font face="verdana" size="1">
Ticketnummer:<br><input name="TICKETNR" type="text" size="15" maxlength="8" /><br>
Kundenname:<br><input name="KDNAME" type="text" size="30" maxlength="75" /><br>
Kundennr:<br><input name="KDNR" type="text" size="20" maxlength="10" /><p>
</font>
<input type="button" name="test" value="Erstellen!" onClick="go()">

<form method="post">
<input type="button" value="Neu?"
onclick="window.location.reload()">

</form>
<font face="verdana" size="1">Beta-Version 1.0</font>

<script>

<!--
var subject="Ticket   "
var subject2="[TICKETNR]"
var subject3="   [KDNR]"
var bcc="GEHTIMMERANDENTEAMLEITER@TESTPAGE.DE"
var body_start="%0DHallo*"
var body_inhalt1="%0D%0DKd.Name: [KDNAME] "
var body_inhalt2="%0D%0D%0D%0D%0D%0DTel. Kontakt möglich unter: [TELNR] "
var body_ende="%0D%0D----------------------------------------------------------%0DDanke und %0Dmit freundlichen Grüßen%0D%0D// Team Empfang //%0D// Tel.: ****-****** //%0D// Fax: ***-****** //"
var groups=document.doublecombo.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()

group[0][0]=new Option("Bitte Team wählen","")

group[1][0]=new Option("","#")
group[1][1]=new Option("TEAM 1 E","mailto:TEAMEINKAUF1@TESTPAGE.de?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[1][2]=new Option("TEAM 2 E","mailto:TEAMEINKAUF2@TESTPAGE.de?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[1][3]=new Option("TEAM 3 E","mailto:TEAMEINKAUF3@TESTPAGE.de?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[1][4]=new Option("TEAM 4 E","mailto:TEAMEINKAUF4@TESTPAGE.de?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[1][5]=new Option("TEAM 5 E","mailto:TEAMEINKAUF5@TESTPAGE.de?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")

group[2][0]=new Option("","#")
group[2][1]=new Option("TEAM 1 V","mailto:TEAMVERKAUF1@TESTPAGE.DE?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[2][2]=new Option("TEAM 2 V","mailto:TEAMVERKAUF2@TESTPAGE.DE?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[2][3]=new Option("TEAM 3 V","mailto:TEAMVERKAUF3@TESTPAGE.DE?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[2][4]=new Option("TEAM 4 V","mailto:TEAMVERKAUF4@TESTPAGE.DE?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[2][5]=new Option("TEAM 5 V","mailto:TEAMVERKAUF5@TESTPAGE.DE?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")
group[2][6]=new Option("TEAM 6 V","mailto:TEAMVERKAUF6@TESTPAGE.DE?SUBJECT="+subject+""+subject2+""+subject3+"   &BCC="+bcc+"&body=  "+body_start+""+body_inhalt1+""+body_inhalt2+""+body_ende+"")

var temp=document.doublecombo.stage2

function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=false
}

function go(){
location=temp.options[temp.selectedIndex].value
}
//-->

</script>


    </td>
  </tr>
</table>
    </td>
  </tr>
</table>
</html>
```

Danke im voraus.

MfG
shawn-man

Es kann wohl nur in html/java/javascript umgesetzt werden, da die technischen Voraussetzungen für PHP oder Derartiges nicht gegeben sind.

Danke
shawn-man


----------



## Quaese (28. Oktober 2009)

Hi,

wenn der Versand per Mail erfolgen soll, müssen vor dem Senden die *action*- und *method*-Attribute gefüllt werden.

Da hierfür variable Werte herangezogen werden, würde ich die Selekt-Gruppen und die Vorgabewerte anders organisieren.
- In den Optionen stehen nur die Zieladressen
- Der Body-String wird erst kurz vor dem Senden endgültig generiert

Beispiel:

```
<table border="1" width="400">
  <tr>
    <td>
	    <table border="0" bgcolor="87CEFA" width="390">
	      <tr>
	        <td>
	          <font face="verdana" size="3"><b>Ticketvorlage erstellen?</b></font>
	          <form name="doublecombo">
	            <p>
	              <select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
	                <option>Bitte Bereich wählen</option>
	                <option>EINKAUF</option>
	                <option>VERKAUF</option>
	              </select>
	              <select name="stage2" size="1">
	                <option value="">Bitte Team wählen</option>
	              </select>
	            </p>
	            <p>
	              <font face="verdana" size="1">
	              Ticketnummer:<br><input name="TICKETNR" type="text" size="15" maxlength="8" /><br>
	              Kundenname:<br><input name="KDNAME" type="text" size="30" maxlength="75" /><br>
	              Telefonnummer:<br><input name="TELNR" type="text" size="30" maxlength="75" /><br>
	              Kundennr:<br><input name="KDNR" type="text" size="20" maxlength="10" />
	              </font>
	            <p>
              <input type="button" name="test" value="Erstellen!" onClick="sendMail(this.form);">
	          </form>

	          <form method="post">
	            <input type="button" value="Neu?" onclick="window.location.reload()">
	          </form>
	          <font face="verdana" size="1">Beta-Version 1.0</font>

<script type="text/javascript">
<!--
// Defaultwerte
var subject="Ticket   ";
var subject2="[TICKETNR]";
var subject3="   [KDNR]";
var bcc="GEHTIMMERANDENTEAMLEITER@TESTPAGE.DE";
var body_start="%0DHallo*";
var kdname = "[KDNAME]";
var telnr = "[TELNR]";
var body_ende="%0D%0D----------------------------------------------------------%0DDanke und %0Dmit freundlichen Grüßen%0D%0D// Team Empfang //%0D// Tel.: ****-****** //%0D// Fax: ***-****** //";

// Sonstiges
var groups=document.doublecombo.example.options.length
var group=new Array(groups)

for (i=0; i<groups; i++)
  group[i]=new Array()

// Arrays für Selectgruppen
group[0][0]=new Option("Bitte Team wählen","")
group[1][0]=new Option("","#")
group[1][1]=new Option("TEAM 1 E","mailto:TEAMEINKAUF1@TESTPAGE.de");
group[1][2]=new Option("TEAM 2 E","mailto:TEAMEINKAUF2@TESTPAGE.de");
group[1][3]=new Option("TEAM 3 E","mailto:TEAMEINKAUF3@TESTPAGE.de");
group[1][4]=new Option("TEAM 4 E","mailto:TEAMEINKAUF4@TESTPAGE.de");
group[1][5]=new Option("TEAM 5 E","mailto:TEAMEINKAUF5@TESTPAGE.de");

group[2][0]=new Option("","#")
group[2][1]=new Option("TEAM 1 V","mailto:TEAMVERKAUF1@TESTPAGE.DE");
group[2][2]=new Option("TEAM 2 V","mailto:TEAMVERKAUF2@TESTPAGE.DE");
group[2][3]=new Option("TEAM 3 V","mailto:TEAMVERKAUF3@TESTPAGE.DE");
group[2][4]=new Option("TEAM 4 V","mailto:TEAMVERKAUF4@TESTPAGE.DE");
group[2][5]=new Option("TEAM 5 V","mailto:TEAMVERKAUF5@TESTPAGE.DE");
group[2][6]=new Option("TEAM 6 V","mailto:TEAMVERKAUF6@TESTPAGE.DE");

var temp=document.doublecombo.stage2

function redirect(x){
  for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null

  for (i=0;i<group[x].length;i++){
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)
  }

  temp.options[0].selected=false
}

function sendMail(objForm){
  if(objForm.example.selectedIndex){
    if(objForm.stage2.selectedIndex){
      // Methode festlegen
      objForm.method = "post";

      // E-Mail-Adresse
      objForm.action = objForm.stage2.options[objForm.stage2.selectedIndex].value + "?";
      // Subject
      objForm.action += "subject="+subject+((objForm.TICKETNR.value!="")?objForm.TICKETNR.value:subject2)+((objForm.KDNR.value!="")?objForm.KDNR.value:subject3);
      // Body
      kdname = (objForm.KDNAME.value!="")? objForm.KDNAME.value : kdname;
      telnr  = (objForm.TELNR.value!="")? objForm.TELNR.value : telnr;
	    var body_inhalt1="%0D%0DKd.Name: "+kdname+" ";
	    var body_inhalt2="%0D%0D%0D%0D%0D%0DTel. Kontakt möglich unter: "+telnr+" ";
      objForm.action += "&body="+escape(body_start+body_inhalt1+body_inhalt2+body_ende);
      // BCC
      objForm.action += "&bcc="+bcc;

      // E-Mail-Versand anstossen
      objForm.submit();
    }
  }
}
//-->
</script>
	        </td>
	      </tr>
	    </table>
    </td>
  </tr>
</table>
```
 
Beachte, dass die Funktion *go* durch *sendMail* im HTML-Bereich ersetzt wurde.

Ausserdem sei angemerkt, dass die Browser sowie die E-Mail-Clients die Optionen unterschiedlich handhaben. So wird z.B. vom Firefox die *body*-Option nicht unterstützt. Stattdessen werden alle Formularelemente mit den zugehörigen Werten in den Bodybereich geschrieben.

Ciao
Quaese


----------



## shawn-man (28. Oktober 2009)

Super geil 

Danke erstmal dafür  Wo kann ich die Preise vergeben? *he he*
So, in etwa hat man sich das vorgestellt.

Aber so 2 Sachen habe ich noch.

Der Inhalt der Email sieht nach Sendevorgang so aus:

```
%250DHallo*%250D%250DKd.Name%3A%20Torben%20Test%20%250D%250D%250D%250D%250D%250DTel.%20Kontakt%20m%F6glich%20unter%3A%200177-12312312%20%250D%250D----------------------------------------------------------%250DDanke%20und%20%250Dmit%20freundlichen%20Gr%FC%DFen%250D%250D//%20Team%20Empfang%20//%250D//%20Tel.%3A%20****-******%20//%250D//%20Fax%3A%20***-******%20//
```
Und mit der Formatierung habe ich da ein paar kleine Probleme.

Ebenso fehlt in der Betreffzeile zwischen TICKETNR und KDNR ein oder zwei Leerzeichen.

Wie kann ich das einfach realisieren?

Danke schonmal


----------



## Quaese (28. Oktober 2009)

Hi,

ich denke, die Leerzeichen solltest du selbst an die erforderlichen Stellen einfügen können.

Die zusätzlichen Zeichen zu deinem geposteten Text entstehen durch die Funktion escape.

```
objForm.action += "&body="+escape(body_start+body_inhalt1+body_inhalt2+body_ende);
```
 
Ciao
Quaese


----------



## shawn-man (29. Oktober 2009)

Guten Morgen.


```
objForm.action += "&body="+escape(body_start+body_inhalt1+body_inhalt2+body_ende);
```

wurde von mir bereits in *unescape* geändert. 
Leerzeichen werden im Bodybereich übernommen, nützt aber leider nichts wenn der Text so an einander gereiht wird. Einen Zeilenumbruch habe ich bis dato "nicht" hinbekommen. 

Sobald man über das Formular die Ticketnummer und die Kundennummer einträgt und dann sendet, setzen sich beide Nummern direkt hintereinander (aber nur wenn Sie im Formular angegeben werden, lässt man sie weg, werden die Leerzeichen berücksichtigt ?).

Gibt es denn evtl. die Möglichkeit einen Zeilenumbruch zu erzwingen?
Ich habe von

```
<p> bis \n
```
Alles ausprobiert, leider ohne Erfolg.


----------



## Sven Mintel (29. Oktober 2009)

Moin,

das* \n* wäre das rechte Mittel, verbunden mit folgender Angabe im <form>


```
enctype="text/plain"
```


----------



## shawn-man (29. Oktober 2009)

Ich krieg es einfach nicht hin.

Wo müsste ich den z.B. im *CODE* von Quaese, \n in Kombination mit enctype="text/plain" ansetzen?


----------



## Sven Mintel (29. Oktober 2009)

Das sollte dann so aussehen:
	
	
	



```
<table border="1" width="400">
  <tr>
    <td>
	    <table border="0" bgcolor="87CEFA" width="390">
	      <tr>
	        <td>
	          <font face="verdana" size="3"><b>Ticketvorlage erstellen?</b></font>
	          <form name="doublecombo" enctype="text/plain">
	            <p>
	              <select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
	                <option>Bitte Bereich wählen</option>
	                <option>EINKAUF</option>
	                <option>VERKAUF</option>
	              </select>
	              <select name="stage2" size="1">
	                <option value="">Bitte Team wählen</option>
	              </select>
	            </p>
	            <p>
	              <font face="verdana" size="1">
	              Ticketnummer:<br><input name="TICKETNR" type="text" size="15" maxlength="8" /><br>
	              Kundenname:<br><input name="KDNAME" type="text" size="30" maxlength="75" /><br>
	              Telefonnummer:<br><input name="TELNR" type="text" size="30" maxlength="75" /><br>
	              Kundennr:<br><input name="KDNR" type="text" size="20" maxlength="10" />
	              </font>
	            <p>
              <input type="button" name="test" value="Erstellen!" onClick="sendMail(this.form);">
	          </form>

	          <form method="post">
	            <input type="button" value="Neu?" onclick="window.location.reload()">
	          </form>
	          <font face="verdana" size="1">Beta-Version 1.0</font>

<script type="text/javascript">
<!--
// Defaultwerte
var subject="Ticket   ";
var subject2="[TICKETNR]";
var subject3="   [KDNR]";
var bcc="GEHTIMMERANDENTEAMLEITER@TESTPAGE.DE";
var body_start="\nHallo*";
var kdname = "[KDNAME]";
var telnr = "[TELNR]";
var body_ende="\n\n----------------------------------------------------------\nDanke und \nmit freundlichen Grüßen\n\n// Team Empfang //\n// Tel.: ****-****** //\n// Fax: ***-****** //";

// Sonstiges
var groups=document.doublecombo.example.options.length
var group=new Array(groups)

for (i=0; i<groups; i++)
  group[i]=new Array()

// Arrays für Selectgruppen
group[0][0]=new Option("Bitte Team wählen","")
group[1][0]=new Option("","#")
group[1][1]=new Option("TEAM 1 E","mailto:TEAMEINKAUF1@TESTPAGE.de");
group[1][2]=new Option("TEAM 2 E","mailto:TEAMEINKAUF2@TESTPAGE.de");
group[1][3]=new Option("TEAM 3 E","mailto:TEAMEINKAUF3@TESTPAGE.de");
group[1][4]=new Option("TEAM 4 E","mailto:TEAMEINKAUF4@TESTPAGE.de");
group[1][5]=new Option("TEAM 5 E","mailto:TEAMEINKAUF5@TESTPAGE.de");

group[2][0]=new Option("","#")
group[2][1]=new Option("TEAM 1 V","mailto:TEAMVERKAUF1@TESTPAGE.DE");
group[2][2]=new Option("TEAM 2 V","mailto:TEAMVERKAUF2@TESTPAGE.DE");
group[2][3]=new Option("TEAM 3 V","mailto:TEAMVERKAUF3@TESTPAGE.DE");
group[2][4]=new Option("TEAM 4 V","mailto:TEAMVERKAUF4@TESTPAGE.DE");
group[2][5]=new Option("TEAM 5 V","mailto:TEAMVERKAUF5@TESTPAGE.DE");
group[2][6]=new Option("TEAM 6 V","mailto:TEAMVERKAUF6@TESTPAGE.DE");

var temp=document.doublecombo.stage2

function redirect(x){
  for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null

  for (i=0;i<group[x].length;i++){
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)
  }

  temp.options[0].selected=false
}

function sendMail(objForm){
  if(objForm.example.selectedIndex){
    if(objForm.stage2.selectedIndex){
      // Methode festlegen
      objForm.method = "post";

      // E-Mail-Adresse
      objForm.action = objForm.stage2.options[objForm.stage2.selectedIndex].value + "?";
      // Subject
      objForm.action += "subject="+subject+((objForm.TICKETNR.value!="")?objForm.TICKETNR.value:subject2)+((objForm.KDNR.value!="")?objForm.KDNR.value:subject3);
      // Body
      kdname = (objForm.KDNAME.value!="")? objForm.KDNAME.value : kdname;
      telnr  = (objForm.TELNR.value!="")? objForm.TELNR.value : telnr;
	    var body_inhalt1="\n\nKd.Name: "+kdname+" ";
	    var body_inhalt2="\n\n\n\n\n\nTel. Kontakt möglich unter: "+telnr+" ";
      objForm.action += "&body="+escape(body_start+body_inhalt1+body_inhalt2+body_ende);
      // BCC
      objForm.action += "&bcc="+bcc;

      // E-Mail-Versand anstossen
      objForm.submit();
    }
  }
}
//-->
</script>
	        </td>
	      </tr>
	    </table>
    </td>
  </tr>
</table>
```


----------



## shawn-man (29. Oktober 2009)

Ich bin der Ochs vom Berg.
Besten Dank...

Hab es einfach nicht gerallt, oder übersehen, oder wie auch immer.

Jetzt stellt sich der Body-Bereich der Email wesentlich besser dar. Jetzt das ABER:
Es werden leider nicht mehr die vordefinierten Sachen wie

- var body_start="Hallo*";
oder
-var body_ende="\n\n----------------------------------------------------------\nDanke und \nmit freundlichen Grüßen\n\n// Team Empfang //\n// Tel.: ****-****** //\n// Fax: ***-****** //";

in den Body mit aufgenommen, sondern nur noch tatsächlich die Inhalte, die man auch in Formular eintragen kann...?


----------



## Sven Mintel (30. Oktober 2009)

Probiers mal hiermit:


```
function sendMail(objForm)
{

  if(objForm.example.selectedIndex){
    if(objForm.stage2.selectedIndex){
      // E-Mail-Adresse
      var action = objForm.stage2.options[objForm.stage2.selectedIndex].value + "?";
      // Subject
      action += "subject="+subject+((objForm.TICKETNR.value!="")?objForm.TICKETNR.value:subject2)+((objForm.KDNR.value!="")?objForm.KDNR.value:subject3);
      // Body
      kdname = (objForm.KDNAME.value!="")? objForm.KDNAME.value : kdname;
      telnr  = (objForm.TELNR.value!="")? objForm.TELNR.value : telnr;
	    var body_inhalt1="\n\nKd.Name: "+kdname+" ";
	    var body_inhalt2="\n\n\n\n\n\nTel. Kontakt möglich unter: "+telnr+" ";
      action += "&body="+escape(body_start+body_inhalt1+body_inhalt2+body_ende);
      // BCC
      action += "&bcc="+bcc;
      location.replace(action);
      
    }
  }
}
```


----------



## shawn-man (30. Oktober 2009)

YES 

IHR SEIT DIE BESTEN - Hatte ich das bereits erwähnt?

Absolut genauso wie ich mir das vorgestellt habe und wie es sein sollte.


So, macht das richtig Spaß - werde mich jetzt mal ein wenig mehr damit befassen.

Aber eins noch.
Wie kriege ich zwischen Ticketnummer und Kundennummer ein oder mehrere Leerzeichen hin?
Wenn ich diese im Formular nicht ausfülle, werden die Leerzeichen berücksichtigt:

Beispiel:
Betreff: *Ticket   [TICKETNR]   [KDNR]*

Wenn ich diese beiden Felder aber ausfülle und das Ticket generiere sieht es so aus:
Betreff: *Ticket   555555888888*

Die Fünfer stehen für die Ticketnr und die Achter für die Kundennr.


Kann mich garnicht genug bei Euch bedanken !


----------



## Quaese (30. Oktober 2009)

Hi,


```
action += "subject="+subject+((objForm.TICKETNR.value!="")?objForm.TICKETNR.value:subject2)+" "+((objForm.KDNR.value!="")?objForm.KDNR.value:subject3);
```
 
Ciao
Quaese


----------



## shawn-man (30. Oktober 2009)

Gottgleich 

Danke an Alle die geholfen haben. 

Tja, wenn man das nicht weiss.

Der Fall ist erstmal erledigt ;-)


----------



## Thomas E (22. Januar 2010)

Hallo,

feine Sache. Sowas habe ich gesucht.

Würde das ganze aber gerne mit Pflichtfeldern erweitern. So wie aufgeführt ist es ja gerade so, das bevor kein 
Bereich / Team ausgewählt wurde, man den Generieren Button zwar nutzen kann, er aber keine Aktion ausführt.

Jetzt würde ich ganz gerne beispielsweise die Felder Ticketnummer und/oder Kundenname als Pflichtfeld
haben. Also, wenn die nicht ausgefüllt sind, Generieren Button keine Funktion und es erscheint vielleicht ne
kleine Fehlermeldung. Es muss nicht aufs einzelne Feld bezogen werden, kann sondern auch heißen:

" Bitte alle Pflichtfelder* ausfüllen"

Weiß jemand Rat?


----------



## Quaese (22. Januar 2010)

Hi,

du kannst eine boolesche Variable einführen. Diese wird mit *false* initialisiert. Sind alle Bedingungen erfüllt, wird sie auf *true* gesetzt. Am Ende der Funktion wird entsprechend ihres Wertes eine Meldung ausgegeben.

Beispiel:

```
function sendMail(objForm){
  var blnCheck = false;

  if(objForm.example.selectedIndex){
    if(objForm.stage2.selectedIndex){
      blnCheck = true;
      // E-Mail-Adresse
      var action = objForm.stage2.options[objForm.stage2.selectedIndex].value + "?";
      // Subject
      action += "subject="+subject+((objForm.TICKETNR.value!="")?objForm.TICKETNR.value:subject2)+" "+((objForm.KDNR.value!="")?objForm.KDNR.value:subject3);
      // Body
      kdname = (objForm.KDNAME.value!="")? objForm.KDNAME.value : kdname;
      telnr  = (objForm.TELNR.value!="")? objForm.TELNR.value : telnr;
	    var body_inhalt1="\n\nKd.Name: "+kdname+" ";
	    var body_inhalt2="\n\n\n\n\n\nTel. Kontakt möglich unter: "+telnr+" ";
      action += "&body="+escape(body_start+body_inhalt1+body_inhalt2+body_ende);
      // BCC
      action += "&bcc="+bcc;
      // Mail als "Link" versenden
      location.replace(action);
    }
  }

  if(!blnCheck)
    alert("Bitte alle Pflichtfelder ausfüllen.");
}
```
 
Ciao
Quaese


----------



## Thomas E (22. Januar 2010)

Hi Quaese,

ist genau was ich mir so vorgestellt habe.

Allerdings funktioniert es nur wenn ich keinen Bereich oder kein Team gewählt habe.

Der erste Schritt soll sein:
Wähle Bereich und Team und dann die entsprechenden Felder füllen.

Habe ich Bereich und Team gewählt und lasse alle anderen Felder (z.B. Kundennummer) leer, funktioniert alert nicht.

Kann man irgendwie nur bestimmte Felder als Pflichtfelder definieren?

Hoffe es ist verständlich....?


----------



## Quaese (22. Januar 2010)

Hi,

das Testen eines Textfeldes erfolgt zum Beispiel vor dem Senden des Formulars.

Unter der Annahme, es existiert im Formular ein Textfeld mit dem Name *txtTest*, ist folgendes vorstellbar:

```
function sendMail(objForm){
  var blnCheck = false;

  if(objForm.txtTest.value == ""){
    alert("Das Feld txtTest wurde nicht korrekt ausgefüllt");
    return false;
  }

  if(objForm.example.selectedIndex){
    if(objForm.stage2.selectedIndex){
      blnCheck = true;
      // Bisheriger Code
    }
  }

  if(!blnCheck)
    alert("Bitte alle Pflichtfelder ausfüllen.");
}
```
 
Ungetestet - sollte aber funktionieren.

Ciao
Quaese


----------



## Thomas E (26. Januar 2010)

Hi,

super - klappt reibungslos. Versuche das ganze mal auszubauen und vielleicht melde ich mich dann nochmal.

besten Dank
Thomas


----------



## Thomas E (26. Januar 2010)

So, das habe ich zusammen:

index.htm:

```
<html>
<title>Service Ticket</title>
<head>

</head>
<frameset rows=65,*  bordercolor=000000 border=1>

<frame src=head.htm name=One
scrolling=auto marginwidth=0 marginheight=0 noresize=yes>

<frameset rows=19,*  bordercolor=000000 border=1>

<frame src=navbar.htm name=One
scrolling=auto marginwidth=0 marginheight=0 noresize=yes>

<frameset cols=50%,*  bordercolor=000000 border=1>

	<frame src=service_ticket_einkauf.html name=One 
	scrolling=auto marginwidth=0 marginheight=0 noresize=yes>

	<frame src=service_ticket_verkauf.html name=Two
	scrolling=auto marginwidth=0 marginheight=0 noresize=yes bordercolor=000000 border=1>

</frameset>
<noframes>
Sie benoetigen einen Browser, welcher Frames darstellen kann.
</noframes>
</HTML>
```

dann die dazugehörige Navigationsleiste und Kopfteil

Navigation (navbar.htm):

```
<html>

<head>

<body bgcolor="#000000">

<script language="JavaScript"> 
<!-- 
var message="Rechte Maustaste ist gesperrt. Zum Kopieren & Einfügen bitte STRG+C und STRG+V benutzen!"; 
function click(e) { 
if (document.all) { 
if (event.button == 2) { 
alert(message); 
return false; 
} 
} 
if (document.layers) { 
if (e.which == 3) { 
alert(message); 
return false; 
} 
} 
} 
if (document.layers) { 
document.captureEvents(Event.MOUSEDOWN); 
} 
document.onmousedown=click; 
// --> 
</script>

</head>

<div align="center">
<a target="blank" href="#"><font face="verdana" size="2" color="#FFFFFF"><b> ¦ Link 1 ¦ </b></a></font>
<a target="blank" href="#"><font face="verdana" size="2" color="#FFFFFF"><b> ¦ Link 2 ¦ </b></a></font>
<a target="blank" href="#"><font face="verdana" size="2" color="#FFFFFF"><b> ¦ Link 3 ¦ </b></a></font>
<a target="blank" href="#"><font face="verdana" size="2" color="#FFFFFF"><b> ¦ Link 4 ¦ </b></a></font>
<a target="blank" href="#"><font face="verdana" size="2" color="#FFFFFF"><b> ¦ Link 5 ¦ </b></a></font>

</div>

</HTML>
```

Kopfbereich (head.htm):

```
<html>

<head>

<body bgcolor="#FFFFFF">

<script language="JavaScript"> 
<!-- 
var message="Rechte Maustaste ist gesperrt. Zum Kopieren & Einfügen bitte STRG+C und STRG+V benutzen!"; 
function click(e) { 
if (document.all) { 
if (event.button == 2) { 
alert(message); 
return false; 
} 
} 
if (document.layers) { 
if (e.which == 3) { 
alert(message); 
return false; 
} 
} 
} 
if (document.layers) { 
document.captureEvents(Event.MOUSEDOWN); 
} 
document.onmousedown=click; 
// --> 
</script>

</head>
<br>
<div align="center"><font face="verdana" size="5" color="black"><b>..:: Team Empfang ::..</b></font></div>

</HTML>
```

__________________________________________________________________________________

Dann habe ich es in zwei Fenster unterteilt, weil ich es einfach besser finde.
Links Service Ticket Einkauf & Rechts Service Ticket Verkauf !

service_ticket_einkauf.html:

```
<head>

<body bgcolor="909090">

<script language="JavaScript"> 
<!-- 
var message="Rechte Maustaste ist gesperrt. Zum Kopieren & Einfügen bitte STRG+C und STRG+V benutzen!"; 
function click(e) { 
if (document.all) { 
if (event.button == 2) { 
alert(message); 
return false; 
} 
} 
if (document.layers) { 
if (e.which == 3) { 
alert(message); 
return false; 
} 
} 
} 
if (document.layers) { 
document.captureEvents(Event.MOUSEDOWN); 
} 
document.onmousedown=click; 
// --> 
</script>

</head>

<table border="0" width="400">
  <tr>
    <td>
	    <table border="0" bgcolor="909090" width="390">
	      <tr>
	        <td>
	          <font face="verdana" size="3"><font color="red"><b>¦ Ticketvorlage Einkauf ¦</b></font></div>
	          <form name="doublecombo" enctype="text/plain">
	            <p>
	              <select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
	                <option>Bitte wählen!</option>
	                <option  input style="background-color:FFFFFF">Einkauf</option>
	                <option  input style="background-color:FFFFFF">Einkauf</option>
	              </select>
	              <select name="stage2" size="1">
	                <option value="">Bitte Team wählen</option>
	              </select><font color="white">*</font>
	            </p>
	            <p>
	              <font face="verdana" size="1" color="black">
	              Ticketnummer:<font color="FFFFFF">*</font><br><input name="TICKETNR" title="Ticketnummer" value="" type="text" size="15" maxlength="8"  input style="background-color:FFFFFF" /><br>
	              Kundennummer:<font color="FFFFFF">*</font><br><input name="KDNR" title="Kundennummer" type="text" size="15" maxlength="10" input style="background-color:FFFFFF" /><br>
	              Kundenname:<br><input name="KDNAME" title="Kundenname" type="text" size="30" maxlength="75" input style="background-color:FFFFFF" /><br>
	              Telefonnummer <font color="FFFFFF">(Festnetz):</font><br><input name="TELNRF" title="Telefon (Festnetz)" type="text" size="25" maxlength="75" input style="background-color:FFFFFF" /><br>
	              Telefonnummer <font color="FFFFFF">(Mobil):</font><br><input name="TELNRM" title="Telefon (Mobil)"  type="text" size="25" maxlength="75" input style="background-color:FFFFFF" />
<p>

<p><b>Sachverhalte Einkauf: </b><br>
<select name="SACHVERHALT_E" id="SACHVERHALT_E" title="SACHVERHALT_E"  input style="background-color:FFFFFF">
	<option value=""></input></option>
		<option value="Sachverhalt 1"</input> Sachverhalt 1</option>
		<option value="Sachverhalt 2"</input> Sachverhalt 2</option>
		<option value="Sachverhalt 3"</input> Sachverhalt 3</option>
		<option value="Sachverhalt 4"</input> Sachverhalt 4</option>
		<option value="Sachverhalt 5"</input> Sachverhalt 5</option>
</select>


<br>
	<font size="1" face="verdana">Zusatz:<font color="#FFFFFF"> (Manuelle Eintragungen sind hier möglich)</font><br>
	<textarea name="ZUSATZ_E" id="ZUSATZ_E" title="ZUSATZ_E" rows="5,8" cols="57" wrap="virtual" input style="background-color:FFFFFF"></textarea></input><p>


	              </font>
	            <p>
              <input type="button" name="test" value=">Ticket erstellen!<" onClick="sendMail(this.form);">
	         

	          <form method="post">
	            <input type="button" value=">Neues Ticket?<" onclick="window.location.reload()">
	          </form>


<script type="text/javascript">
<!--
// Defaultwerte
var subject="Ticket   ";
var subject2="[TICKETNR]";
var subject3="   [KDNR]";
var bcc="Teamempfang@homepage.de";
var body_start="\nHallo*";
var body_1="[BODY_1]";
var body_2="[BODY_2]";
var body_3="[BODY_3]";
var body_4="[BODY_4]";
var body_5="[BODY_5]";
var kdname = "";
var telnrf = "";
var telnrm = "";
var sachverhalt_e="";
var zusatz_e="";
var body_ende="\n\n-----------------------------------------------------------\nDanke und \nmit freundlichen Grüßen\n\n// Team Empfang //\n// Tel.: ****-** ** ** //\n// Fax: ****-** ** ** //\n-----------------------------------------------------------\n";

// Sonstiges
var groups=document.doublecombo.example.options.length
var group=new Array(groups)

for (i=0; i<groups; i++)
  group[i]=new Array()

// Arrays für Selectgruppen
group[0][0]=new Option("Bitte Team wählen","")
group[1][0]=new Option("","#")
group[1][1]=new Option("TEAM 1 E","mailto:team1einkauf@homepage.de");
group[1][2]=new Option("TEAM 2 E","mailto:team2einkauf@homepage.de");
group[1][3]=new Option("TEAM 3 E","mailto:team3einkauf@homepage.de");
group[1][4]=new Option("TEAM 4 E","mailto:team4einkauf@homepage.de");
group[1][5]=new Option("TEAM 5 E","mailto:team5einkauf@homepage.de");

group[2][0]=new Option("","#")
group[2][1]=new Option("TEAM 1 E","mailto:team1einkauf@homepage.de");
group[2][2]=new Option("TEAM 2 E","mailto:team2einkauf@homepage.de");
group[2][3]=new Option("TEAM 3 E","mailto:team3einkauf@homepage.de");
group[2][4]=new Option("TEAM 4 E","mailto:team4einkauf@homepage.de");
group[2][5]=new Option("TEAM 5 E","mailto:team5einkauf@homepage.de");


var temp=document.doublecombo.stage2

function redirect(x){
  for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null

  for (i=0;i<group[x].length;i++){
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)
  }

  temp.options[0].selected=false
}

function sendMail(objForm){  
var blnCheck = false;      


  if(objForm.example.selectedIndex){
    if(objForm.stage2.selectedIndex){
      blnCheck = true;


  if(objForm.TICKETNR.value == ""){
    alert("Das Feld TICKETNUMMER bitte ausfüllen!");
    return false;
  }
  if(objForm.KDNR.value == ""){
    alert("Das Feld KUNDENNUMMER bitte ausfüllen!");
    return false;
  }
      
      // E-Mail-Adresse
      var action = objForm.stage2.options[objForm.stage2.selectedIndex].value + "?";

      // Subject
      action += "subject="+subject+((objForm.TICKETNR.value!="")?objForm.TICKETNR.value:subject2)+"   "+((objForm.KDNR.value!="")?objForm.KDNR.value:subject3);

      // Body
      kdname = (objForm.KDNAME.value!="")? objForm.KDNAME.value : kdname;
      telnrf  = (objForm.TELNRF.value!="")? objForm.TELNRF.value : telnrf;
      telnrm  = (objForm.TELNRM.value!="")? objForm.TELNRM.value : telnrm;
      zusatz_e  = (objForm.ZUSATZ_E.value!="")? objForm.ZUSATZ_E.value : zusatz_e;
      sachverhalt_e  = (objForm.SACHVERHALT_E.value!="")? objForm.SACHVERHALT_E.value : sachverhalt_e;

	    var body_1="\n\nKd.Name: "+kdname+"\n ";
	    var body_2="\n\n"+sachverhalt_e+" ";
	    var body_3="\n\n"+zusatz_e+" ";
	    var body_4="\n\n\nTel. Kontakt möglich unter: \nFestnetz: "+telnrf+" \n";
	    var body_5="Mobil: "+telnrm+" ";

      action += "&body="+escape(body_start+body_1+body_2+body_3+body_4+body_5+body_ende);

      // BCC
      action += "&bcc="+bcc;
      location.replace(action);
      
    }
  }
  if(!blnCheck)
    alert("Bitte alle Pflichtfelder (*) ausfüllen.");
}
//-->
</script>
	        </td>
	      </tr>
	    </table>
```

und 
service_ticket_verkauf.html:

```
<head>

<body bgcolor="909090">

<script language="JavaScript"> 
<!-- 
var message="Rechte Maustaste ist gesperrt. Zum Kopieren & Einfügen bitte STRG+C und STRG+V benutzen!"; 
function click(e) { 
if (document.all) { 
if (event.button == 2) { 
alert(message); 
return false; 
} 
} 
if (document.layers) { 
if (e.which == 3) { 
alert(message); 
return false; 
} 
} 
} 
if (document.layers) { 
document.captureEvents(Event.MOUSEDOWN); 
} 
document.onmousedown=click; 
// --> 
</script>

</head>

<table border="0" width="400">
  <tr>
    <td>
	    <table border="0" bgcolor="909090" width="390">
	      <tr>
	        <td>
	          <font face="verdana" size="3" color="blue"><b>¦ Ticketvorlage Verkauf ¦</b></font></div>
	          <form name="doublecombo" enctype="text/plain">
	            <p>
	              <select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
	                <option>Bitte wählen!</option>
	                <option input style="background-color:FFFFFF">Verkauf</option>
	                <option input style="background-color:FFFFFF">Verkauf</option>
	              </select>
	              <select name="stage2" size="1">
	                <option value="">Bitte Team wählen</option>
	              </select><font color="white">*</font>
	            </p>
	            <p>
	              <font face="verdana" size="1" color="black">
	              Ticketnummer:<font color="FFFFFF">*</font><br><input name="TICKETNR" title="Ticketnummer" value="" type="text" size="15" maxlength="8"  input style="background-color:FFFFFF" /><br>
	              Kundennummer:<font color="FFFFFF">*</font><br><input name="KDNR" title="Kundennummer" type="text" size="15" maxlength="10" input style="background-color:FFFFFF" /><br>
	              Kundenname:<br><input name="KDNAME" title="Kundenname" type="text" size="30" maxlength="75" input style="background-color:FFFFFF" /><br>
	              Telefonnummer <font color="FFFFFF">(Festnetz):</font><br><input name="TELNRF" title="Telefon (Festnetz)" type="text" size="25" maxlength="75" input style="background-color:FFFFFF" /><br>
	              Telefonnummer <font color="FFFFFF">(Mobil):</font><br><input name="TELNRM" title="Telefon (Mobil)"  type="text" size="25" maxlength="75" input style="background-color:FFFFFF" />

<? // Hier beginnt das DropDownMenü (Auswahlfenster)//?>

<p><b>Sachverhalt Verkauf:</b><br>
<select name="SACHVERHALT_V" id="SACHVERHALT_V" title="SACHVERHALT_V" input style="background-color:FFFFFF">
	<option value=""></input></option>
		<option value="Sachverhalt 1"</input> Sachverhalt 1</option>
		<option value="Sachverhalt 2"</input> Sachverhalt 2</option>
		<option value="Sachverhalt 3"</input> Sachverhalt 3</option>
		<option value="Sachverhalt 4"</input> Sachverhalt 4</option>
		<option value="Sachverhalt 5"</input> Sachverhalt 5</option>
</select></div>

<? // Hier endet das DropDownMenü (Auswahlfenster)//?>

	<font size="1" face="verdana">Zusatz:<font color="#FFFFFF"> (Manuelle Eintragungen sind hier möglich)</font><br>
	<textarea name="ZUSATZ_V" id="ZUSATZ_V" title="ZUSATZ_V" rows="5,8" cols="57" wrap="virtual"  input style="background-color:FFFFFF"></textarea></input>

	              </font>
	            <p>
              <input type="button" name="test" value=">Ticket erstellen!<" onClick="sendMail(this.form);">
	         

	          <form method="post">
	            <input type="button" value=">Neues Ticket?<" onclick="window.location.reload()">
	          </form>


<script type="text/javascript">
<!--
// Defaultwerte
var subject="Ticket   ";
var subject2="[TICKETNR]";
var subject3="   [KDNR]";
var bcc="Teamempfang@homepage.de";
var body_start="\nHallo*";
var body_1="[BODY_1]";
var body_2="[BODY_2]";
var body_3="[BODY_3]";
var body_4="[BODY_4]";
var body_5="[BODY_5]";
var kdname = "";
var telnrf = "";
var telnrm = "";
var sachverhalt_v="";
var zusatz_v="";
var body_ende="\n\n-----------------------------------------------------------\nDanke und \nmit freundlichen Grüßen\n\n// Team Empfang //\n// Tel.: ****-** ** ** //\n// Fax: ****-** ** ** //\n-----------------------------------------------------------\n";

// Sonstiges
var groups=document.doublecombo.example.options.length
var group=new Array(groups)

for (i=0; i<groups; i++)
  group[i]=new Array()

// Arrays für Selectgruppen
group[0][0]=new Option("Bitte Team wählen","")
group[1][0]=new Option("","#")
group[1][1]=new Option("TEAM 1 V","mailto:team1verkauf@homepage.de");
group[1][2]=new Option("TEAM 2 V","mailto:team2verkauf@homepage.de");
group[1][3]=new Option("TEAM 3 V","mailto:team3verkauf@homepage.de");
group[1][4]=new Option("TEAM 4 V","mailto:team4verkauf@homepage.de");
group[1][5]=new Option("TEAM 5 V","mailto:team5verkauf@homepage.de");

group[2][0]=new Option("","#")
group[2][1]=new Option("TEAM 1 V","mailto:team1verkauf@homepage.de");
group[2][2]=new Option("TEAM 2 V","mailto:team2verkauf@homepage.de");
group[2][3]=new Option("TEAM 3 V","mailto:team3verkauf@homepage.de");
group[2][4]=new Option("TEAM 4 V","mailto:team4verkauf@homepage.de");
group[2][5]=new Option("TEAM 5 V","mailto:team5verkauf@homepage.de");

var temp=document.doublecombo.stage2

function redirect(x){
  for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null

  for (i=0;i<group[x].length;i++){
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)
  }

  temp.options[0].selected=false
}

function sendMail(objForm){  
var blnCheck = false;      


  if(objForm.example.selectedIndex){
    if(objForm.stage2.selectedIndex){
      blnCheck = true;


  if(objForm.TICKETNR.value == ""){
    alert("Das Feld TICKETNUMMER bitte ausfüllen!");
    return false;
  }
  if(objForm.KDNR.value == ""){
    alert("Das Feld KUNDENNUMMER bitte ausfüllen!");
    return false;
  }
     
      // E-Mail-Adresse
      var action = objForm.stage2.options[objForm.stage2.selectedIndex].value + "?";

      // Subject
      action += "subject="+subject+((objForm.TICKETNR.value!="")?objForm.TICKETNR.value:subject2)+"   "+((objForm.KDNR.value!="")?objForm.KDNR.value:subject3);

      // Body
      kdname  = (objForm.KDNAME.value!="")? objForm.KDNAME.value : kdname;
      telnrf  = (objForm.TELNRF.value!="")? objForm.TELNRF.value : telnrf;
      telnrm  = (objForm.TELNRM.value!="")? objForm.TELNRM.value : telnrm;
      zusatz_v  = (objForm.ZUSATZ_V.value!="")? objForm.ZUSATZ_V.value : zusatz_v;
      sachverhalt_v  = (objForm.SACHVERHALT_V.value!="")? objForm.SACHVERHALT_V.value : sachverhalt_v;

	    var body_1="\n\nKd.Name: "+kdname+"\n ";
	    var body_2="\n\n"+sachverhalt_v+" ";
	    var body_3="\n\n"+zusatz_v+" ";
	    var body_4="\n\n\nTel. Kontakt möglich unter: \nFestnetz: "+telnrf+" \n";
	    var body_5="Mobil: "+telnrm+" ";

      action += "&body="+escape(body_start+body_1+body_2+body_3+body_4+body_5+body_ende);

      // BCC
      action += "&bcc="+bcc;
      location.replace(action);
      
    }
  }
  if(!blnCheck)
    alert("Bitte alle Pflichtfelder (*) ausfüllen.");
}
//-->
</script>
	        </td>
	      </tr>
	    </table>
```

*Folgendes wäre wünschenswert:*

1. Gibt es die Möglichkeit einem Pflichtfeld zu sagen, sei nur ein Pflichtfeld wenn ein bestimmter Sachverhalt ausgewählt wurde und ansonsten bist Du kein Pflichtfeld ?

2. Der Ansatz war wahrscheinlich so gedacht, das man Team Einkauf und Team Verkauf aus einer Maske steuert, da ich es jetzt aber auf zwei
Fenster unterteilen möchte, habe ich das Problem immer den Bereich zu wählen und erst das Team. Kann man das nicht so ändern, das man direkt das Team wählt? Also dieses stage2 irgendwie weglassen?

3. Anstatt des "Hallo*" würde ich gerne ne automatische Teambegrüßung einbauen. Das wenn als Empfänger beispielsweise Team 1 E ausgewählt wurde, das in der generierten Mail dann Hallo Team 1 E direkt steht.

Ich hoffe es ist nicht zuviel verlangt. Würde auch mit kleinen Ansätzen versuchen was zu probieren, aber alles andere als HTML ist bei mir eher
verdammt geringfügig vorhanden.

Trotzdem Danke Euch
Thomas


----------



## Thomas E (26. Januar 2010)

Also Punkt 1. bezüglich der Pflichtfelder habe ich anders gelöst.

Wenn ein bestimmter Sachverhalt ausgewählt wird, kommt eine entsprechende "alert" Meldung.
Ist zwar nicht so schön wie mein eigentliches Vorhaben, würde aber zur Not ebenfalls funktionieren.


```
if(objForm.KDNR.value == ""){
    alert("Das Feld KUNDENNUMMER bitte ausfüllen!");
    return false;
  }
  if(objForm.SACHVERHALT_E.value == "Sachverhalt 2"){
    alert("Bei diesem Sachverhalt immer zusätzlich den vollständigen Namen geben lassen!");
  }
```


----------



## Wunder_von_Bern (4. Februar 2010)

Guten Tag,

da mein Problem thematisch zu dem diesem Thread passt reihe ich mich mal hier mit ein. 

Auch ich will momentan ein kleines Formular entwickeln. Soweit alles kein Problem, allerdings bereitet mir noch eine Anforderung Kopfzerbrechen. Jeder erzeugte Datensatz (bzw jede mit dem Formular erzeugte Email) soll eine laufende Nummer mit sich führen. Als Beispiel sollte das dann so aussehen:

Mail an Vertragspartner ABC

*lfd. Nr. 20100001*

Name: Mustermann
Straße: Beispielstr. 12
usw...

Wie kriege ich das hin? Die Nummer müsste ja dann praktisch in dem Moment erzeugt werden, wenn der Benutzer das "Senden" Feld anklickt.

MfG


----------



## Sven Mintel (4. Februar 2010)

Moin,

mit JS alleine lässt sich das kaum bewerkstelligen, dazu müsste auf dem Server irgendwo die Information verfügbar sein, was die laufende Nummer ist.

Da da also eh der Server mit einbzogen werden muss, wäre es eh empfehlenswert, die Mail gleich serverseitig abzusetzen.

Denkbar  wäre folgendes:

Formular wird gesendet an serverseitiges Skript
serverseitiges Skript prüft Eingaben und gibt im Fehlerfall eine diesbetreffende Meldung+das Formular aus
im Erfolgsfall trägt das Skript irgendwas in eine DB ein(scheinst du ja eh schon zu machen, wie es sich anhört)
Wenn deine Tabelle, wo eingetragen wird, ein AUTO_INCREMENT-Feld enthält(falls nicht, lege eines an), liefert dir nach dem INSERT bspw. [phpf]mysql_insert_id[/phpf](mal PHP+Mysql angenommen) den Wert des  AUTO_INCREMENT-Feldes im zuvor erzeugten Datensatz.

jetzt kannst du die Mail senden, eine eindeutige ID hast du und kannst sie in die Mail mit einfliessen lassen.


----------



## Big Bog (24. März 2010)

Guten Morgen!

@ Thomas E: 
Finde dieses Formular garnicht schlecht. 

@ All:
Hat denn vielleicht Jemand ne Lösung zu den beiden Punkten

*
2. Der Ansatz war wahrscheinlich so gedacht, das man Team Einkauf und Team Verkauf aus einer Maske steuert, da ich es jetzt aber auf zwei
Fenster unterteilen möchte, habe ich das Problem immer den Bereich zu wählen und erst das Team. Kann man das nicht so ändern, das man direkt das Team wählt? Also dieses stage2 irgendwie weglassen?

3. Anstatt des "Hallo*" würde ich gerne ne automatische Teambegrüßung einbauen. Das wenn als Empfänger beispielsweise Team 1 E ausgewählt wurde, das in der generierten Mail dann Hallo Team 1 E direkt steht.
*

die ich persönlich sehr interessant finde.

Danke!

Noch was:

In der Datei *service_ticket_einkauf.html* oder *service_ticket_verkauf.html* wird die abgehende Signatur so umgesetzt:


```
var body_ende="\n\n-----------------------------------------------------------\nDanke und \nmit freundlichen Grüßen\n\n// Team Empfang //\n// Tel.: ****-** ** ** //\n// Fax: ****-** ** ** //\n-----------------------------------------------------------\n";
```

Kann man da auch irgendwie ein Bild anhängen welches sofort sichtbar ist?
(Quasi wie bei einer normal eingerichteten Signatur)

Danke nochmal


----------



## Big Bog (24. März 2010)

Punkt Nr. 2 konnte gelöst werden.

So wurde es umgesetzt bisher:


```
<head>

<body bgcolor="909090">

<script language="JavaScript"> 
<!-- 
var message="Rechte Maustaste ist gesperrt. Zum Kopieren & Einfügen bitte STRG+C und STRG+V benutzen!"; 
function click(e) { 
if (document.all) { 
if (event.button == 2) { 
alert(message); 
return false; 
} 
} 
if (document.layers) { 
if (e.which == 3) { 
alert(message); 
return false; 
} 
} 
} 
if (document.layers) { 
document.captureEvents(Event.MOUSEDOWN); 
} 
document.onmousedown=click; 
// --> 
</script>

</head>

<table border="0" width="400">
  <tr>
    <td>
	    <table border="0" bgcolor="909090" width="390">
	      <tr>
	        <td>
	          <font face="verdana" size="3"><font color="red"><b>¦ Ticketvorlage Einkauf ¦</b></font></div>
		<form name="TEAMAUSWAHL" enctype="text/plain"><font face="verdana" size="1" color="black">         
		Teamauswahl:<font color="FFFFFF">*</font><br><select name="TEAMAUSWAHL" id="TEAMAUSWAHL" title="TEAMAUSWAHL"  input style="background-color:FFFFFF">
		<option value=""></input></option>
		<option value="mailto:team1einkauf@homepage.de"></input>TEAM 1 E</option>
		<option value="mailto:team2einkauf@homepage.de"></input>TEAM 2 E</option>
		<option value="mailto:team3einkauf@homepage.de"></input>TEAM 3 E</option>
		<option value="mailto:team4einkauf@homepage.de"></input>TEAM 4 E</option>
		</select>
	            </p>
	            <p>
	              <font face="verdana" size="1" color="black">
	              Ticketnummer:<font color="FFFFFF">*</font><br><input name="TICKETNR" title="Ticketnummer" value="" type="text" size="15" maxlength="8"  input style="background-color:FFFFFF" /><br>
	              Kundennummer:<font color="FFFFFF">*</font><br><input name="KDNR" title="Kundennummer" type="text" size="15" maxlength="10" input style="background-color:FFFFFF" /><br>
	              Kundenname:<br><input name="KDNAME" title="Kundenname" type="text" size="30" maxlength="75" input style="background-color:FFFFFF" /><br>
	              Telefonnummer <font color="FFFFFF">(Festnetz):</font><br><input name="TELNRF" title="Telefon (Festnetz)" type="text" size="25" maxlength="75" input style="background-color:FFFFFF" /><br>
	              Telefonnummer <font color="FFFFFF">(Mobil):</font><br><input name="TELNRM" title="Telefon (Mobil)"  type="text" size="25" maxlength="75" input style="background-color:FFFFFF" />
<p>

<p><b>Sachverhalte Einkauf: </b><br>
<select name="SACHVERHALT_E" id="SACHVERHALT_E" title="SACHVERHALT_E"  input style="background-color:FFFFFF">
	<option value=""></input></option>
		<option value="Sachverhalt 1"</input> Sachverhalt 1</option>
		<option value="Sachverhalt 2"</input> Sachverhalt 2</option>
		<option value="Sachverhalt 3"</input> Sachverhalt 3</option>
		<option value="Sachverhalt 4"</input> Sachverhalt 4</option>
		<option value="Sachverhalt 5"</input> Sachverhalt 5</option>
</select>


<br>
	<font size="1" face="verdana">Zusatz:<font color="#FFFFFF"> (Manuelle Eintragungen sind hier möglich)</font><br>
	<textarea name="ZUSATZ_E" id="ZUSATZ_E" title="ZUSATZ_E" rows="5,8" cols="57" wrap="virtual" input style="background-color:FFFFFF"></textarea></input><p>


	              </font>
	            <p>
              <input type="button" name="test" value=">Ticket erstellen!<" onClick="sendMail(this.form);">
	         

	          <form method="post">
	            <input type="button" value=">Neues Ticket?<" onclick="window.location.reload()">
	          </form>


<script type="text/javascript">
<!--
// Defaultwerte
var subject="Ticket   ";
var subject2="[TICKETNR]";
var subject3="   [KDNR]";
var bcc="Teamempfang@homepage.de";
var body_start="\nHallo*";
var body_1="[BODY_1]";
var body_2="[BODY_2]";
var body_3="[BODY_3]";
var body_4="[BODY_4]";
var body_5="[BODY_5]";
var kdname = "";
var telnrf = "";
var telnrm = "";
var sachverhalt_e="";
var zusatz_e="";
var body_ende="\n\n-----------------------------------------------------------\nDanke und \nmit freundlichen Grüßen\n\n// Team Empfang //\n// Tel.: ****-** ** ** //\n// Fax: ****-** ** ** //\n-----------------------------------------------------------\n";

function sendMail(objForm){  
var blnCheck = false;      

 
 if(objForm.TEAMAUSWAHL.value == ""){
      alert("Bitte TEAMAUSWAHL treffen !");
      return false;
}


  if(objForm.TICKETNR.value == ""){
    alert("Das Feld TICKETNUMMER bitte ausfüllen!");
    return false;
  }
  if(objForm.TICKETNR.value == "win"){
    alert("It´s not a Bug, it´s Windows!");
    return false;
  }
  if(objForm.KDNR.value == ""){
    alert("Das Feld KUNDENNUMMER bitte ausfüllen!");
    return false;
  }

      

      // E-Mail-Adresse
      var action = objForm.TEAMAUSWAHL.options[objForm.TEAMAUSWAHL.selectedIndex].value + "?";

      // Subject
      action += "subject="+subject+((objForm.TICKETNR.value!="")?objForm.TICKETNR.value:subject2)+"   "+((objForm.KDNR.value!="")?objForm.KDNR.value:subject3);

      // Body
      kdname = (objForm.KDNAME.value!="")? objForm.KDNAME.value : kdname;
      telnrf  = (objForm.TELNRF.value!="")? objForm.TELNRF.value : telnrf;
      telnrm  = (objForm.TELNRM.value!="")? objForm.TELNRM.value : telnrm;
      zusatz_e  = (objForm.ZUSATZ_E.value!="")? objForm.ZUSATZ_E.value : zusatz_e;
      sachverhalt_e  = (objForm.SACHVERHALT_E.value!="")? objForm.SACHVERHALT_E.value : sachverhalt_e;

	    var body_1="\n\nKd.Name: "+kdname+"\n ";
	    var body_2="\n\n"+sachverhalt_e+" ";
	    var body_3="\n\n"+zusatz_e+" ";
	    var body_4="\n\n\nTel. Kontakt möglich unter: \nFestnetz: "+telnrf+" \n";
	    var body_5="Mobil: "+telnrm+" ";

      action += "&body="+escape(body_start+body_1+body_2+body_3+body_4+body_5+body_ende);

      // BCC
      action += "&bcc="+bcc;
      location.replace(action);
    }



//-->
</script>
	        </td>
	      </tr>
	    </table>
```

Das mit der Teambegrüßung und das Einbinden eines Bildes, beispielsweise für die Signatur habe ich noch nicht
erledigen können. 

Ist denn Niemand da der nen Hilfeansatz hat?

Gruß


----------



## Thomas E (26. März 2010)

@ Big Bog

Danke! Habe es einfach nicht hinbekommen diese "stage2" Geschichte zu lösen.
Da zeigt sich das ich ein blutiger Anfänger bin ;-)

Das mit der Teambegrüßung und des Bildes in die Signatur habe ich noch nicht hinbekommen.

Wenn ich das mit der Teambegrüßung versuche, erscheint immer:

* Hallo mailto:team1einkauf@homepage.de* und nicht * Hallo Team E 1*


Ein Signaturlogo habe ich bisher nur in Form eines weiterführenden Links hinbekommen. Und das soll nicht. Es soll halt das Bild direkt
zu sehen sein.


----------



## Thomas E (7. April 2010)

Hi,

hat den wirklich Niemand ne Idee, oder ein Beispiel, oder eine Ansatzhilfe ?

Wäre sehr dankbar...


----------



## Thomas E (8. April 2010)

Hi hi,

könnte man mit diesem System auch Formate ändern?
So dass vielleicht Teile der Signatur "FETT" angezeigt werden.

Kann man das irgendwie umsetzen oder klappt das garnicht?

wenn ich nämlich: bspl. <font face="verdana" size="3"> oder Ähnliches eintrage, gibt er mir
leider nur den original Befehl aus...

mmmhhh...

Hab übrigens noch keine Lösung gefunden.
Ob Formatierung (Schriftart etc.), Signatur oder Teambegrüßung. 
Kann Dir bisher nicht behilflich sein.

Hab zwar schon getüfftelt, aber bin da auch noch nicht so der Crack...


----------



## Big Bog (22. April 2010)

hey,

ich habe es mal so versucht, wahrscheinlich wie Du Thomas.


```
<script type="text/javascript">
<!--
// Defaultwerte
var subject="Ticket   ";
var subject2="[TICKETNR]";
var subject3="   [KDNR]";
var bcc="Teamempfang@homepage.de";
var body_start="\nHallo*";
var body_1="[BODY_1]";
var body_2="[BODY_2]";
var body_3="[BODY_3]";
var body_4="[BODY_4]";
var body_5="[BODY_5]";
var kdname = "";
var logo = "http://www.meinehomepage.de/images/logo.gif"; oder auch so <img src=\"http://www.meinehomepage.de/images/logo.gif\" border=0>
var telnrf = "";
var telnrm = "";
var sachverhalt_e="";


.............


      action += "&body="+escape(body_start+body_1+body_2+body_3+body_4+body_5+body_ende+[red]logo[/red]);

      // BCC
      action += "&bcc="+bcc;
      location.replace(action);

.............
```

Aber als Ausgabe erscheint nur der reine Pfad / Befehl: *http://www.meinehomepage.de/images/logo.gif* oder *<img src=\"http://www.meinehomepage.de/images/logo.gif\" border=0>*

Kann leider nicht behilflich sein. Habe bisher auch keinen ähnlichen Beitrag oder Codebeispiel finden können.


----------



## Maik (22. April 2010)

Big Bog hat gesagt.:


> ich habe es mal so versucht, wahrscheinlich wie Du Thomas.


Führst du hier Selbstgespräche? Denn laut Eurer IP-Adressen handelt es sich hier doch eindeutig um ein und dieselbe Person.

mfg Maik


----------



## Big Bog (22. April 2010)

?
ääähhhhmmm
Nicht wirklich. Arbeite in einem großen Telekommunikationsunternehmen und ich weiß das sich ein oder zwei Kollegen hier auch
öffter rumtreiben, aber gleiche IP ? Ist das technisch überhaupt möglich ? Kann Jemand über meinen PC surfen?


----------



## Maik (22. April 2010)

Lediglich der letzte Block mit den Sternchen variiert:

195.88.117.**

195.88.117.**

Mit einem Telekommunikationsunternehmen hat der Hostname (***.de) aber nichts zu tun 

mfg Maik


----------



## Big Bog (22. April 2010)

Werde hier mal meine Sicherheitseinstellung prüfen und neue PW´s vergeben.

Danke für die Info.


----------



## Big Bog (26. April 2010)

so,

hab meinen pc mal hier auf den neusten stand der dinge (fa. gibt vor) gebracht.

kann denn mittlerweile jemand zu den genannten problemen eine hilfestellung geben?



(danke nochmal an maik,
lt. unserer it war mein pc nicht wirklich geschützt. die haben mir doch glatt mal vorgeführt was die alles können,
also auf meinen rechner zugreifen, über meinen rechner ins netz, in meinem namen emails versenden.
grausam, bin immer noch geschockt.)


----------



## Sven Mintel (26. April 2010)

Alles, was du da übergibst, wird erstmal als Zeichendaten interpretiert werden, und nicht als HTML-Code.

Was damit passiert, ist letzendlich Einstellungssache des Email-Clienten.

Es gibt also keine umfassende Lösung für dies Problem...zumindest keine ausschliesslich clientseitige.


----------



## Big Bog (27. April 2010)

hallo,

ja und im mailclient wird natürlich jeder seine eigene Formatierung haben. Schade, wäre schön gewesen das vorzugeben.
Betrifft das auch das einfügen eines Bildes in die Signatur ?

Aber das mit der Teambegrüßung sollte doch irgendwie umsetzbar sein oder ?

Danke nochmal an Alle


----------

