Volkmar: button werden als 0 dargestellt

hallo zusammen,

ich habe folgendes problem:

ich habe ein vordefinierten online-shop, in dem ich einige button einbinden möchte.
wenn ich also einen button ins form einbinde, sehe ich im iexplorer/netscape nicht das lable des buttons sondern, ich sehe eine
"0"
auf dem Button. die funktion des buttons wird aber nicht beeinträchtigt.

nehme ich den button aus dem form und pack ihn meinetwegen darunter wird alles angezeigt.

hat jemand eine idee???

gruß

volkmar

ps:bitte etwas verständlicher da ich erst am anfang von javascript stehe danke ;-))

  1. hi

    hat jemand eine idee???

    evtl. wenn du ein bisserl quelltext für uns hast.

    so long
    ole
    (8-)>

    1. hi

      hat jemand eine idee???

      evtl. wenn du ein bisserl quelltext für uns hast.

      so long ole (8-)>

      aber natürlich wie dumm von mir ;-)) hier ist er

      gruß

      volkmar

      <html>

      <head>   <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">    <style>

      </style>   <meta name="generator" content="GoLive CyberStudio 3">   <title>Online-Shop</title>   <script language="JavaScript"><!-- function submitForm() {  saveForm();  window.location = "/cgi-bin/shopping.cgi?aktualisieren"; }

      function saveForm() {  var order = new String(getCookie("SCHLECKI_BESTELLUNG"));  var elnam = new String();  for (var i = 0; i < document.form.elements.length; i++){   elnam = document.form.elements[i].name;   if (elnam.indexOf("BT_") != "0"){    order = delItem(order, document.form.elements[i]);   }  }  for (var i = 0; i < document.form.elements.length; i++){   elnam = document.form.elements[i].name;   if (elnam.indexOf("BT_") != "0"){    order = addItem(order, document.form.elements[i]);   }  }  setCookie("SCHLECKI_BESTELLUNG", order);  return null; }

      function loadForm() { // Initialisiert das Formular  var elnam = new String();  var order = new String(getCookie("SCHLECKI_BESTELLUNG"));  for (var i = 0; i < document.form.elements.length; i++){   elnam = document.form.elements[i].name;   if (elnam.indexOf("BT_") != "0"){    document.form.elements[i].value = getQty(order, document.form.elements[i].name);   }  }  return null; }

      function addItem(str, item2add) { // Fuegt der Zeichenkette str den Schluessel item2add und den Wert zu  var ival = new String (cleanInput(item2add.value)); // str = delItem(str, item2add.name);  if (ival > 0) { str = str + item2add.name + ":" + ival + ";"}  return str; }

      function delItem(str, item2delete) { // Loescht aus der Zeichenkette str vom Schluessel item2delete bis zum naechsten Semikolon  name2delete = item2delete.name + ":";  delbgn = str.indexOf(name2delete);  if (delbgn < 0) { return str; } // Schluessel nicht gefunden  else {   delend = str.indexOf(";", delbgn) + 1;   return str.substring (0, delbgn) + str.substring (delend, str.length);  } }

      function getQty(str, name2evaluate) { // Ermittelt aus der Zeichenkette str den Wert zwischen Schluessel item2delete und dem naechsten Semikolon  var objnam = new String(name2evaluate + ":");  var delbgn = str.indexOf(objnam);  if (delbgn < 0) { return "0"; }  else {   var varbgn = delbgn + objnam.length;   varend = str.indexOf(";", delbgn);   return str.substring (varbgn, varend);  } }

      function cleanInput(input) {  var str = new String(input);  if ( str.length < 1 ) { str = "0" }  else {   for (var index=0; index < str.length; index++) {    if (str.charAt(index) < "0" || str.charAt(index) > "9") {     alert ("\nBitte nur Ziffern eingeben!\n(Das sind die Dinger von 0 bis 9 !)");     str = "0";    }   }   str++; // befreit auf einfachste weise   str--; // von fuehrenden nullziffern  }  return str; }

      function setCookie (coknam, value, expires) {  if (!expires) {   expires = new Date();   expires.setTime (expires.getTime() + (1000 * 60 * 60 * 24 * 31));  }  document.cookie = coknam + "=" + escape (value) + "; expires=" + expires.toGMTString() +  "; path=/";  return null; }

      function getCookie (coknam) {  var doccok = document.cookie;  coknam = coknam + "=";  var coklen = doccok.length;  var cokbgn = 0;  while (cokbgn < coklen) {   var varbgn = cokbgn + coknam.length;   if (doccok.substring(cokbgn, varbgn) == coknam) {   var varend = doccok.indexOf (";", varbgn);   if (varend == -1) varend = coklen;   return unescape(doccok.substring(varbgn, varend));  }  cokbgn = doccok.indexOf(" ", cokbgn) + 1;  if (cokbgn == 0) break;  }  return ""; }

      function delCookie (coknam) {  document.cookie = coknam + "=" + "; expires=Thu, 01-Jan-70 00:00:00 GMT" +  "; path=/";  return null; }

      </script>  </head>

      <body text="#FFFFFF" bgcolor="#CC0000" link="#333333" vlink="#333333" alink="#333333" onload="loadForm()" onunload="saveForm()"> <form name="form">   <p>   <table border="0" cellpadding="2" cellspacing="0" width="938">     <tr>       <td colspan="2" height="44" valign="top"><b><font size="6" color="#FFFFFF">         Online-Shop</font></b></td>       <td width="108"> </td>       <td width="306"> </td>     </tr>     <tr>       <td colspan="4" height="24"> </td>     </tr>     <tr>       <td height="22" colspan="2">         <p align="left"><b><code><font face="Arial, Helvetica, sans-serif" size="4">Produkt</font></code></b></p>       </td>       <td align="right" height="22" width="108">         <div align="left"></div>         <div align="left"></div>         <div align="right"><b><font face="Arial, Helvetica, sans-serif"><code><font face="Arial, Helvetica, sans-serif"><font size="4">Stückpreis</font></font></code></font></b></div>       </td>       <td align="center" height="22" width="306"><b><code><font face="Arial, Helvetica, sans-serif"><font size="4">Bestellmenge</font></font></code></b></td>     </tr>     <tr>       <td height="32" width="290">         <div align="left"><b><code></code></b></div>       </td>       <td height="32" width="218"> </td>       <td align="right" width="108"><b><code><font face="Arial, Helvetica, sans-serif" size="3">70         € </font></code></b></td>       <td align="center" width="306"> <b><font face="Arial, Helvetica, sans-serif">         <input type="text" name="A00" size="5" maxlength="3" value="0">         </font></b></td>     </tr>     <tr>       <td height="32" width="290">         <div align="left"><b><code></code></b></div>       </td>       <td height="32" width="218"> </td>       <td align="right" width="108"><b><code><font face="Arial, Helvetica, sans-serif" size="3">75         € </font></code></b></td>       <td align="center" width="306"> <b><font face="Arial, Helvetica, sans-serif">         <input type="text" name="A01" size="5" maxlength="3" value="0">         </font></b></td>     </tr>     <tr>       <td height="32" width="290">         <div align="left"><b><code></code></b></div>       </td>       <td height="32" width="218"> </td>       <td align="right" width="108"><b><code><font face="Arial, Helvetica, sans-serif" size="3">80         € </font></code></b></td>       <td align="center" width="306"> <b><font face="Arial, Helvetica, sans-serif">         <input type="text" name="A02" size="5" maxlength="3" value="0">         </font></b></td>     </tr>     <tr>       <td height="32" width="290">         <div align="left"><b><code></code></b></div>       </td>       <td height="32" width="218"> </td>       <td align="right" width="108"><b><code><font face="Arial, Helvetica, sans-serif" size="3">85         € </font></code></b></td>       <td align="center" width="306"> <b><font face="Arial, Helvetica, sans-serif">         <input type="text" name="A03" size="5" maxlength="3" value="0">         </font></b></td>     </tr>     <tr>       <td height="34" width="290">         <div align="left"><b><code></code></b></div>       </td>       <td height="34" width="218"> </td>       <td align="right" width="108" height="34"><b><code><font face="Arial, Helvetica, sans-serif" size="3">95         € </font></code></b></td>       <td align="center" width="306" height="34"> <b><font face="Arial, Helvetica, sans-serif">         <input type="text" name="A04" size="5" maxlength="3" value="0">         </font></b></td>     </tr>     <tr>       <td height="32" width="290">         <div align="left"><b><code></code></b></div>       </td>       <td height="32" width="218"> </td>       <td align="right" width="108"><b><code><font face="Arial, Helvetica, sans-serif" size="3">125         € </font></code></b></td>       <td align="center" width="306"> <b><font face="Arial, Helvetica, sans-serif">         <input type="text" name="A05" size="5" maxlength="3" value="0">         </font></b></td>     </tr>     <tr>       <td height="32">         <div align="left"><b><code></code></b></div>       </td>       <td height="32" width="218"> </td>       <td align="right" width="108"><b><code><font face="Arial, Helvetica, sans-serif" size="3">155         € </font></code></b></td>       <td align="center" width="306"> <b><font face="Arial, Helvetica, sans-serif">         <input type="text" name="A06" size="5" maxlength="3" value="0">         </font></b></td>     </tr>     <tr>       <td colspan="2" align="center" height="27"> </td>       <td align="center" height="27" width="108"> </td>       <td align="center" height="27" width="306"> </td>     </tr>     <tr>       <td colspan="2" align="center" height="27">         <div align="left"></div>       </td>       <td align="center" height="27" width="108">         <div align="right"><b><font size="3">7,50 € </font></b></div>       </td>       <td align="center" height="27" width="306"> </td>     </tr>     <tr>       <td height="23" colspan="4">         <div align="center"></div>         <div align="center">           <p> <b>             <input name="BT_SUBMIT" type="button" value="Warenkorb anzeigen" onClick="saveForm();window.location = '/cgi-bin/shopping.cgi?showHopper';">             </b></p>           <p><b><font face="Arial, Helvetica, sans-serif">             <input type='button' value='Online-Shop schließen' onClick='self.close()' name="Online-Shop schließen">             </font></b></p>         </div>       </td>     </tr>   </table>   </form>

      <table width="95%" border="0">   <tr>     <td>       <div align="center"><font face="Arial, Helvetica, sans-serif"><b><code><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="3"><code><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="3"></font></code></font></code></b>         </font></div>     </td>   </tr> </table> <p> </p> </body>

      </html>

  2. hi,

    ich habe ein vordefinierten online-shop, in dem ich einige button einbinden möchte.

    du solltest keine sachen einsetzen, wenn du ihre funktion nicht nachvollziehen kannst.

    wenn ich also einen button ins form einbinde, sehe ich im iexplorer/netscape nicht das lable des buttons sondern, ich sehe eine
    "0"
    auf dem Button. die funktion des buttons wird aber nicht beeinträchtigt.

    das dürfte m.e. an der funktion cleanInput() liegen, die überprüft, ob der wert eines ihr übergebenen input-feldes lediglich aus ziffern besteht, und wenn nicht, den wert des inputfeldes explizit auf 0 setzt.
    diese funktion wird wird innerhalb der funktion addItem() aufgerufen, die wiederum saveForm() FÜR JEDES FORMULARELEMENT aufgerufen wird - dummerweise werden so auch deine hinzugefügten buttons gleich mit rasiert, da dies ja ebenfalls nur formularelemente von der art <input> sind.

    an dieser stelle müsstest du also ansetzen, und dafür sorgen, dass deine funktionen deine input-buttons von den eingabefeldern unterscheiden können, und erstere in ruhe lassen.

    gruss,
    wahsaga

    1. hi,

      diese funktion wird wird innerhalb der funktion addItem() aufgerufen, die wiederum saveForm() FÜR JEDES FORMULARELEMENT aufgerufen wird

      da fehlte ein bisschen was, sollte heissen:

      diese funktion wird wird innerhalb der funktion addItem() aufgerufen, die wiederum innerhalb der funktion saveForm() FÜR JEDES FORMULARELEMENT aufgerufen wird

      gruss,
      wahsaga

    2. du hast ja recht ;-), bezüglich nachvollziehen, aber jeder ist hat mal klein angefangen, und muß stätig lernen.
      es ist ja für mich nur zum testen und einwenig zum rum spielen
      ich danke dir für den tip

      gruß

      volkmar

      hi,

      ich habe ein vordefinierten online-shop, in dem ich einige button einbinden möchte.
      du solltest keine sachen einsetzen, wenn du ihre funktion nicht nachvollziehen kannst.

      wenn ich also einen button ins form einbinde, sehe ich im iexplorer/netscape nicht das lable des buttons sondern, ich sehe eine
      "0"
      auf dem Button. die funktion des buttons wird aber nicht beeinträchtigt.
      das dürfte m.e. an der funktion cleanInput() liegen, die überprüft, ob der wert eines ihr übergebenen input-feldes lediglich aus ziffern besteht, und wenn nicht, den wert des inputfeldes explizit auf 0 setzt.
      diese funktion wird wird innerhalb der funktion addItem() aufgerufen, die wiederum saveForm() FÜR JEDES FORMULARELEMENT aufgerufen wird - dummerweise werden so auch deine hinzugefügten buttons gleich mit rasiert, da dies ja ebenfalls nur formularelemente von der art <input> sind.

      an dieser stelle müsstest du also ansetzen, und dafür sorgen, dass deine funktionen deine input-buttons von den eingabefeldern unterscheiden können, und erstere in ruhe lassen.

      gruss,
      wahsaga

  3. Hallo Volkmar,

    wenn ich also einen button ins form einbinde, sehe ich im iexplorer/netscape nicht das lable des buttons sondern, ich sehe eine
    "0" auf dem Button. die funktion des buttons wird aber nicht beeinträchtigt.

    So als Tipp. Es gibt in dem Formular einen Button der *nicht* mit einer 0 gelabelt wird. Warum?

    Wie wahsage bereits bemerkte werden die Formularelemente "rasiert". Bis auf den einen Button. Der Schlüsel liegt hier:

    elnam = document.form.elements[i].name;
      if (elnam.indexOf("BT_") != "0"){
        document.form.elements[i].value =
        getQty(order, document.form.elements[i].name);

    Wenn im Namen des Elementes NICHT der Text "BT_" vorkommt, dann setze einen bestimmten value. (Der bei Buttons 0 ist. Und, dummerweise ist der value eines Buttons seine Beschriftung)

    Ach ja, der Submit-Button sieht so aus:
    <input name="BT_SUBMIT" type="button" value="Warenkorb anzeigen"...>

    Jetzt kannst du bestimmt alleine weitermachen.

    Grüße,

    Jochen

    1. hi,

      So als Tipp. Es gibt in dem Formular einen Button der *nicht* mit einer 0 gelabelt wird. Warum?

      stimmt, danke für die ergänzung.

      gruss,
      wahsaga