BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Webdesign (http://www.black-board.net/board.php?boardid=19)
--- Formular-Buttons (http://www.black-board.net/thread.php?threadid=17560)


Geschrieben von COCYHOK am 08.06.2004 um 14:27:

Text Formular-Buttons

Ich habe ein Formular, um sich bei einem Newsletter ein- und aus-tragen zu können. So sieht es aus:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
<form action="http://www9.de/cgi-bin/newsletter.cgi" method="post">
 <input name="action" type="hidden" value="what">
 <input name="id" type="hidden" value="119592">
 <input name="bgcolor" type="hidden" value="#FFFFFF">
 <input name="background" type="hidden" value="">
 <input name="font" type="hidden" value="serif">
 <input name="size" type="hidden" value="10">
 <input name="color" type="hidden" value="#000000">
 <input name="link" type="hidden" value="#FFFFFF">
 <input name="vlink" type="hidden" value="#FFFFFF">
 <input name="alink" type="hidden" value="#FFFFFF">
 <table>
  <tbody>
   <tr>
    <td>
     <font face="arial" size="2">
      <b>
       E-M@il:
      </b>
     </font>
    </td>
    <td>
     <font face="serif" size="2">
      <input name="email" size="30">
     </font>
    </td>
    <tr>
     <td>
     </td>
     <td>
      <font face="arial" size="2">
       <input name="what" type="submit" value="add">
       <input name="what" type="submit" value="remove">
      </font>
     </td>
    </tr>
   </tr>
  </tbody>
 </table>
</form>
Das Formular in Aktion (bitte tragt eingetragene E-Mail-Adressen wieder aus). Die beiden what-Buttons müssen leider zwangsläufig die Werte 'add' und 'remove' haben, weil das CGI-Skript einen dieser beiden Werte verlangt:
Zitat:
<input name="action" type="hidden" value="what">
Das Skript kann ich nicht verändern. Wie kann ich einen dieser beiden Werte übermitteln und trotzdem die Buttons beliebig beschriften?
Vorher war es mit Radio-Buttons. Ist auch ne Möglichkeit, ich möchte aber nur Klick-Buttons verwenden.



Geschrieben von LX am 08.06.2004 um 14:32:

 

Kannst es ja mal mit <input type="image"> versuchen und grafische Buttons draus machen.



Geschrieben von COCYHOK am 08.06.2004 um 15:02:

 

Das geht nicht. Wenn ich <input name="what" type="image" value="add" src="add.gif"> schreibe, dann wird nicht der Wert 'add' übermittelt. Keine Ahnung, was übermittelt wird, aber 'add' jedenfalls nicht.



Geschrieben von Romanticus am 09.06.2004 um 19:31:

 

poste mal das stück code in dem du die variable "what" ausließt... mit PHP funktionierts problemlos..



Geschrieben von COCYHOK am 09.06.2004 um 23:06:

 

Wie gesagt: Ich habe auf das CGI-Skript keinen direkten Zugriff. Ich kann es zwar mit Daten versorgen, ich kann es aber weder lesen noch verändern. Es handelt sich um einen öffentlichen Newsletter-Dienst (www9.de). Wenn man sich bei dem Anbieter anmeldet, kann man sich Homepagebedarf holen: Counter, Gästebücher, Chat, Newsletter-Verteiler, …
Ich habe mich also für den Newsletter-Service angemeldet und daraufhin einen HTML-Code bekommen, den ich in meine Homepage einbauen soll, um den Besuchern die Möglichkeit zu geben, sich ein- und aus-tragen zu können.
Der Code war ursprünglich so aufgebaut, dass man per Radiobutton wählen kann, ob die eingegebene Adresse ein- oder aus-getragen werden soll und dann den Vorgang mit einem OK-Button bestätigen kann.
Ich habe den Code ein bisschen verändert und will erreichen, dass man ohne Radiobutton entweder auf 'Austragen' oder auf 'Eintragen' klicken kann.
Im Prinzip gefällt mir der Newsletter-Verteiler so, wie er jetzt auf bauspezis.com zu sehen ist. Ich will nur die Beschriftung der Buttons ändern. Das muss doch iiirgendwie gehen. Ich habe leider keine Ahnung von der Programmierung von Web-Formularen, aber ich stelle mir das zum Beispiel so vor:
Wenn ich auf den Button 'Eintragen' klicke, dann wird der Wert 'Eintragen' in der Variablen a gespeichert. Im nächsten Moment wird eine Funktion aktiv, die den Inhalt der Variablen a verändert: if(a=="Eintragen")a="add" else if(a=="Austragen")a="remove"
Dann erst wird der Inhalt von a in der Variablen action gespeichert und das Formular abgeschickt.
Wie kann man sowas machen??



Geschrieben von Romanticus am 10.06.2004 um 01:19:

 

aso.. des ist bl?d, wenn man keinen zugriff auf das script hat...


hab da so ne bl?de idee.. wei? auch net ob das funktionieren wird... mir ist aufgefallen, dass die variable "action" immer den wert "what" (den string "what" und nicht den wert des feldes "what") hat, was eigentlich nicht sinn der sache ist... also wenn du die submit-buttons jeweils nicht "what" nennst, sondern "action", dann sollte das ganze funktionieren... also ausprobieren....

Romanticus

P.S. das textfeld "action" solltest du nat?rlich wegmachen.....



EDIT: ich glaub, ich hab da grad ein bi?chen am thema vorbeigeredet... shit.. es ist schon sp?t... und hei?... ich denk dar?ber nach... es gibt f?r jedes problem eine l?sung...

EDIT II: mann bin ich blöd... die lösung ist so einfach, dass jeder noob draufkommt, nur ich nicht.... also... man entferne im textfeld action den value-teil... vorsichtshalber... danach füge im abschicken-button folgendes ein:
code:
1:
2:
3:
onClick="document.Form.action.value='add';" //Form ist der name des formulars - bitte nachtragen


und im entfernen-button das hier:
code:
1:
2:
3:
onClick="document.Form.action.value='remove';" //Form ist bla-bla-bla... siehe oben


damit hast die variable action so, wie es dir passt und kannst deine buttons beschriften wie du grad lustig bist...

EDIT III: verdammt, ich sollte echt mal langsam ins bett.. ich seh grad, dass du die variable what anpassen willst und nicht die action... das ist auch kein problem - erstelle ein neues hidden-feld mit dem namen "what" und ändere im JavaScript-Teil nicht die variable action, sondern what. bei den buttons musst du den namen what natürlich wegmachen sonst haste 3 verschiedene what-variablen und ich hab keine ahnung welche von denen übermittelt wird..



Geschrieben von COCYHOK am 10.06.2004 um 14:32:

 

Schulljung, aber ich kann dir nich Gans folgen. Ich weiß ja nich, wie viele Bier du gestern Abend intus hattestgroßes Grinsen
Schreib einfach mal anhand dieses Beispiels (siehe oben), was genau da wie verändert werden muss. Wie gesagt, ich habe keine Ahnung von solchen Formularen. Du scheinst ja Ahnung zu haben. Kopiere einfach mal den Code in deinen Post und verändere ihn so, dass die Buttons anders beschriftet sind und der veränderte Code lauffähig ist.
ThnX



Geschrieben von Romanticus am 10.06.2004 um 14:55:

 

ich möchte am anfang eins klarstellen: ich bin nie besoffen smile ich war nur total müde und zu faul meinen post neu zu schreiben smile . also, jetzt wirds ernst.. da ich nicht genau weiß, welche variable (action oder what) die werte "add" und "remove" bekommen soll, mach ich das beispiel für die what-variable...

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
<form action="http://www9.de/cgi-bin/newsletter.cgi" method="post" name="Form">
 <input name="action" type="hidden" value="what">
 <input name="what" type="hidden">
 <input name="id" type="hidden" value="119592">
 <input name="bgcolor" type="hidden" value="#FFFFFF">
 <input name="background" type="hidden" value="">
 <input name="font" type="hidden" value="serif">
 <input name="size" type="hidden" value="10">
 <input name="color" type="hidden" value="#000000">
 <input name="link" type="hidden" value="#FFFFFF">
 <input name="vlink" type="hidden" value="#FFFFFF">
 <input name="alink" type="hidden" value="#FFFFFF">
 <table>
  <tbody>
   <tr>
    <td>
     <font face="arial" size="2">
      <b>
       E-M@il:
      </b>
     </font>
    </td>
    <td>
     <font face="serif" size="2">
      <input name="email" size="30">
     </font>
    </td>
    <tr>
     <td>
     </td>
     <td>
      <font face="arial" size="2">
       <input  type="submit" value="hinzufügen" onClick="document.Form.what.value='add';">
       <input type="submit" value="entfernen" onClick="document.Form.what.value='remove';">
      </font>
     </td>
    </tr>
   </tr>
  </tbody>
 </table>
</form>

so... des wars... noch ne kurze auflistung der dinge, die ich geändert/hinzugefügt hab.

1. zeile 1 im form-tag den teil name="form" hinzugefügt
2. zeile 3 ein neues hidden-feld eingefügt; das ist jetzt die variable what
3. zeilen 33 und 34 name="what" entfernt und den jeweiligen javascript-code eingefügt...

das blöde an der lösung ist, dass die paar leute, die javascript aus welchen gründen auch immer deaktiviert haben, nicht in den genuss deines newsletters kommen werden... selber pech...



Geschrieben von COCYHOK am 10.06.2004 um 15:38:

 

IIIIIIIIIIIIIIIIIIIIIIIIIHHAAAAAAAAAAAAAAAAAAA! Es klappt, es klappt, es klappt!
Applaus Applaus Applaus Applaus Applaus
Das Ergebnis ist bald bei bauspezis.com zu sehen!
*freu*



Geschrieben von Romanticus am 10.06.2004 um 15:43:

 

nicht in die hose machen großes Grinsen vor freude 8)


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH