Bernd: document.forms has no properties

Hallo,

mache gerade einen kleinen webshop. werde aber gerade dadurch behindert,
dass ich nicht auf meine elemente im formular zugreifen kann.
hat jemand eine idee worans liegt? werde so langsam verrückt.

var basketWin;
function openBasket()
{
 //erstellen von basket fenster
 basketWin=window.open("basket.html","narf");
 displayBasket();

}

function displayBasket()
{
//anzeigen des warenkorbs

basketWin.document.writeln("<head>");
 basketWin.document.writeln("<script src="newway.js"   type="text/javascript"></script>  ") ;
 basketWin.document.writeln("</head>");
 basketWin.document.writeln("<body>");

basketWin.document.writeln("<table border=1>");
 basketWin.document.writeln("<form name= "text">");
 for(var i=0;i<basket.things.length;i++)
 {

basketWin.document.writeln("<tr>");
    basketWin.document.writeln ("<td>");
    basketWin.document.writeln(basket.things[i].name);
    basketWin.document.writeln("</td>");
    basketWin.document.writeln ("<td>");
    basketWin.document.writeln(basket.things[i].price);
    basketWin.document.writeln("</td>");
    basketWin.document.writeln ("<td>");
    basketWin.document.writeln("<input type="text">");
    basketWin.document.writeln("</td>");

}
    //extra schleife,weil ich gelesen hab das man auf formular elemente erst nach geschlossenem tag zugreifen kann, ist das wahr?

basketWin.document.writeln("</form>");

for(j=0;j<basket.things.length;j++)
  {
   basketWin.document.writeln( "<td> ");
//hier ist der FEHLER,"basketWin.document.forms['name'].elements[0]"
  has no properties, aber warum?
   basketWin.document.forms['name'].elements[0].value=basket.things[j].quantity;
    var quant=parseFloat(document.forms[0].elements[j].value);
    var price=parseFloat(basket.things[j].price);
     basket.sub=sub(quant,price);
    basketWin.document.writeln(basket.sub);
    basket.total=total(parseFloat(basket.sub),parseFloat(basket.total));
  //alert(basket.total);
    basket.sub=0;
    quant=0;
    price=0;
    basketWin.document.writeln ("</td>");
  }

basketWin.document.writeln("</tr>");
  basketWin.document.writeln("<tr>");
  basketWin.document.writeln ("<td>");
  basketWin.document.writeln(basket.total);
  basketWin.document.writeln("</td>");
  basketWin.document.writeln("</tr>");
  basketWin.document.writeln("</table>");
  //basketWin.document.writeln("<form>");
  //basketWin.document.writeln("<input type="button" value="Edit Basket" onclick=edit();>");
  //basketWin.document.writeln("</form>");
  basketWin.document.writeln("</body>");

}

  1. Hellihello Bernd,

    und alert(name) bringt dir "text"?

    warum baust du dir denn das alles mit writeln?

    Gruß,

    frankx

    1. Hellihello Bernd,

        
        
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
      <html>  
       <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
        <title>Document Forms</title>  
        <link rel="stylesheet" type="text/css" href="css.css">  
        <script type="text/javascript">  
        //<![CDATA[  
        
        Formular_Test=function () {  
         properties="";  
         Formular=document.forms["Formular"];  
         for (i in Formular) {  
         properties += "<li>"+Formular[i]+"</li>";  
         }  
         document.getElementById("Info-Div").innerHTML=properties;  
        }  
        
        
        //]]>  
        </script>  
       </head>  
       <body>  
        <form name="Formular">  
        <input name="Eingabefeld" type="text">  
        </form>  
        <button onclick="Formular_Test()">Formular_Test()</button>  
        <h1>Properties:</h1>  
        <ul id="Info-Div">  
        </ul>  
       </body>  
      </html>  
        
      
      

      funktioniert im FF.

      Gruß,

      frankx

      1. hey frank, kannst du mal einen blick drüber werfen, ob du auf den ersten oder zweiten blick was erkennen kannst?

        1. Hellihello Bernd,

          worüber? Du sprichst ein form namens name an. Du musst testen, ob du damit wirklich Dein Formular erwischt. Außerdem macht es meines erachtens null sinn, den kompletten Quelltext via Javascript zu erzeugen, und das noch mit writeln. Warum schreibst Du ihn denn nicht per html da rein? Kein Wunder, dass du so den Fehler schwer findest.

          Gruß,

          frankx