Weissboeck: ist Null oder kein Objekt

Hallo! Ich bin neu hier und habe bereits vieles über mein Problem gelsen bin allerdings nicht viel weitergekommen.
Deswegen möchte ich es kurz mal posten. Vielleicht fällt ja jemanden was dazu ein?

Wir möchten gerne in unserem Shop die Kunden die für Sie entsprechende Steuerregion auswählen lassen. Unsere Shopsoftware kann sowas nur allerdings erst am Ende des bestellvorganges.
ich konnte das Auswhlwenster in der linken Navigation unterbringen.

http://test.photon.co.at

Allerdings habe ich hier das Problem, das nun eine Leerzeile gleich nach dem Auswahlfenster ensteht. Im Forum des Hersteller der Software gab man mir den rat ich solle die form Tags herausnehemen.
Gesagt getan. Nun nachdem ich die beiden <form> Tags entfernt habe kommt im IE die Fehlermeldung (unten links) das:

Zeile: xxx
Zeichen: xxxx
FEHLER: "document.BillTo.BillToTaxRegion" ist Null oder kein Objekt
CODE: 0

Vielleicht kann mir jemand helfen?
Danke im Voraus für eure HILFE!

Der entsprechendde Teil des Scripts sieht wie folgt aus:

<!-- Steuerregion -->
<TABLE class="CATNAVBARPARENT" width="180" border="0" cellpadding="0" cellspacing="0" >
<TR valign="top">
<TD class="CATNAVBARTITLE" >Ihre Steuerregion:</TD></TR>
<TR align="middle">
<TD width="100%" class="CATNAVBARBODY" ><form name="BillTo"><select id="BillToTaxRegion" name="BillToTaxRegion" onChange="getElementByID(xmlOrder,'BillToTaxRegion').childNodes=new Array();var mSelCookieVal = '';for(var i=0; i<this.options.length; i++){if(this.options[i].selected==true){var mNode = getElementByID(xmlOrder,'BillToTaxRegion').addNode('option');mNode.caption = this.options[i].text;mNode.value = this.options[i].value;mSelCookieVal += this.options[i].value + '#,';xmlConfig.taxarea = this.options[i].value;};};if(saveFormValues()) setCookieValue('BillToTaxRegion', encryptTextData(mSelCookieVal));safeData();history.go();" >
<option value="0">Österreich</option>
<option value="1">Deutschland</option>
<option value="2">Deutschland mit UID-Nr.</option>
<option value="3">EU-Länder</option>
<option value="4">EU mit UID-Nr.</option>
<option value="5">Länder außerhalb der EU</option>
</select> <img src="./assets/images/bullet_mandatory.gif" width="14" height="14" border="0" align="absmiddle">
<script language="javascript">if(xmlConfig.TaxReg=='true'){for(var i=0;i<document.BillTo.BillToTaxRegion.options.length;i++){for(var j=0; j<getElementByID(xmlOrder,'BillToTaxRegion').childNodes.length;j++){if(document.BillTo.BillToTaxRegion.options[i].value==getElementByID(xmlOrder,'BillToTaxRegion').childNodes[j].value){document.BillTo.BillToTaxRegion.options[i].selected = true;xmlConfig.taxarea = document.BillTo.BillToTaxRegion.options[i].value;};};};} else{var oNode = null;var mNode = xmlOrder.getFirstItem('StandardCtrls').addNode('SELControl');mNode.id = 'BillToTaxRegion';mNode.scope = 'BillTo';mNode.caption = encryptTextData('Steuerregion:');if(saveFormValues()&&getCookieValueFor('BillToTaxRegion')!=null){var mCookieVal = decryptTextData(getCookieValueFor('BillToTaxRegion'));var mCookieArr = (mCookieVal + '{EOL}').split('#,');for(var i=0;i<document.BillTo.BillToTaxRegion.options.length;i++){for(var j=0; j<mCookieArr.length - 1; j++){if(document.BillTo.BillToTaxRegion.options[i].value==mCookieArr[j]){document.BillTo.BillToTaxRegion.options[i].selected = true;xmlConfig.taxarea = document.BillTo.BillToTaxRegion.options[i].value;oNode = mNode.addNode('option');oNode.caption = decryptTextData(document.BillTo.BillToTaxRegion.options[i].text);oNode.value = mCookieArr[j];};};};} else{oNode = mNode.addNode('option');oNode.caption = encryptTextData('Deutschland / EU');oNode.value = encryptTextData('0');if(saveFormValues()) setCookieValue('BillToTaxRegion', encryptTextData('0#,'));for(var i=0;i<document.BillTo.BillToTaxRegion.options.length;i++){if(document.BillTo.BillToTaxRegion.options[i].value=="0") document.BillTo.BillToTaxRegion.options[i].selected = true;xmlConfig.taxarea = "0";};};};</script>
</div><div align="center"><a href="http://www.foto-mueller.at/shop/uid.html"><strong><font color="#003366" size="1" face="Arial, Helvetica, sans-serif">UID-Nr.
Was ist das?</font></strong></a> </div>
</form>
<!--END Steuerregion-->

  1. Moin,

    Allerdings habe ich hier das Problem, das nun eine Leerzeile gleich nach dem Auswahlfenster ensteht. Im Forum des Hersteller der Software gab man mir den rat ich solle die form Tags herausnehemen.
    Gesagt getan. Nun nachdem ich die beiden <form> Tags entfernt habe kommt im IE die Fehlermeldung (unten links) das:

    Der Hinweis ist ja mal nen Schuss in den Ofen.

    Um die "Leerzeile" zu verhindern, einfach im Stylesheet (oder halt Inline) für das Form-Tag folgendes:

    display:inline;

    Bsp.:
    <form style="display:inline;">

    SteBu

    1. Hallo und danke für die schnelle Antwort!

      in den Sitestyle kann und darf ich nicht eingreifen da ansonst die Software nicht mehr mitmachen würde!

      Also sollte ich es mit der zweiten von dir genannten Variante probieren!
      Sollte der Code dann so in etwa aussehen??:

      <!-- Steuerregion -->
      <TABLE class="CATNAVBARPARENT" width="180" border="0" cellpadding="0" cellspacing="0" >
      <TR valign="top">
      <TD class="CATNAVBARTITLE" >Ihre Steuerregion:</TD></TR>
      <TR align="middle">
      <TD width="100%" class="CATNAVBARBODY" ><form style="display:inline;"name="BillTo"><select id="BillToTaxRegion" name="BillToTaxRegion" onChange="getElementByID(xmlOrder,'BillToTaxRegion').childNodes=new Array();var mSelCookieVal = '';for(var i=0; i<this.options.length; i++){if(this.options[i].selected==true){var mNode = getElementByID(xmlOrder,'BillToTaxRegion').addNode('option');mNode.caption = this.options[i].text;mNode.value = this.options[i].value;mSelCookieVal += this.options[i].value + '#,';xmlConfig.taxarea = this.options[i].value;};};if(saveFormValues()) setCookieValue('BillToTaxRegion', encryptTextData(mSelCookieVal));safeData();history.go();" >
      <option value="0">Österreich</option>
      <option value="1">Deutschland</option>
      <option value="2">Deutschland mit UID-Nr.</option>
      <option value="3">EU-Länder</option>
      <option value="4">EU mit UID-Nr.</option>
      <option value="5">Länder außerhalb der EU</option>
      </select> <img src="./assets/images/bullet_mandatory.gif" width="14" height="14" border="0" align="absmiddle">
      <script language="javascript">if(xmlConfig.TaxReg=='true'){for(var i=0;i<document.BillTo.BillToTaxRegion.options.length;i++){for(var j=0; j<getElementByID(xmlOrder,'BillToTaxRegion').childNodes.length;j++){if(document.BillTo.BillToTaxRegion.options[i].value==getElementByID(xmlOrder,'BillToTaxRegion').childNodes[j].value){document.BillTo.BillToTaxRegion.options[i].selected = true;xmlConfig.taxarea = document.BillTo.BillToTaxRegion.options[i].value;};};};} else{var oNode = null;var mNode = xmlOrder.getFirstItem('StandardCtrls').addNode('SELControl');mNode.id = 'BillToTaxRegion';mNode.scope = 'BillTo';mNode.caption = encryptTextData('Steuerregion:');if(saveFormValues()&&getCookieValueFor('BillToTaxRegion')!=null){var mCookieVal = decryptTextData(getCookieValueFor('BillToTaxRegion'));var mCookieArr = (mCookieVal + '{EOL}').split('#,');for(var i=0;i<document.BillTo.BillToTaxRegion.options.length;i++){for(var j=0; j<mCookieArr.length - 1; j++){if(document.BillTo.BillToTaxRegion.options[i].value==mCookieArr[j]){document.BillTo.BillToTaxRegion.options[i].selected = true;xmlConfig.taxarea = document.BillTo.BillToTaxRegion.options[i].value;oNode = mNode.addNode('option');oNode.caption = decryptTextData(document.BillTo.BillToTaxRegion.options[i].text);oNode.value = mCookieArr[j];};};};} else{oNode = mNode.addNode('option');oNode.caption = encryptTextData('Deutschland / EU');oNode.value = encryptTextData('0');if(saveFormValues()) setCookieValue('BillToTaxRegion', encryptTextData('0#,'));for(var i=0;i<document.BillTo.BillToTaxRegion.options.length;i++){if(document.BillTo.BillToTaxRegion.options[i].value=="0") document.BillTo.BillToTaxRegion.options[i].selected = true;xmlConfig.taxarea = "0";};};};</script>
      </div><div align="center"><a href="http://www.foto-mueller.at/shop/uid.html"><strong><font color="#003366" size="1" face="Arial, Helvetica, sans-serif">UID-Nr.
      Was ist das?</font></strong></a> </div>
      </form>
      <!--END Steuerregion-->

      Moin,

      Allerdings habe ich hier das Problem, das nun eine Leerzeile gleich nach dem Auswahlfenster ensteht. Im Forum des Hersteller der Software gab man mir den rat ich solle die form Tags herausnehemen.
      Gesagt getan. Nun nachdem ich die beiden <form> Tags entfernt habe kommt im IE die Fehlermeldung (unten links) das:

      Der Hinweis ist ja mal nen Schuss in den Ofen.

      Um die "Leerzeile" zu verhindern, einfach im Stylesheet (oder halt Inline) für das Form-Tag folgendes:

      In den Stylesheet kann und darf ich auf keinen fall eingreifen. Ich darf nur in diesen Bereichen (sogenannte Snippets arbeiten) um den Shop anzupassen.

      display:inline;

      Bsp.:
      <form style="display:inline;">

      SteBu

      1. in den Sitestyle kann und darf ich nicht eingreifen da ansonst die Software nicht mehr mitmachen würde!

        wieso dass denn?
        Das klingt sehr seltsam. Kannst du wengstens ein eigens Stylesheet einbinden?

        Also sollte ich es mit der zweiten von dir genannten Variante probieren!
        Sollte der Code dann so in etwa aussehen??:

        Bitte, wenn du möchtest das viele Leute dir helfen können, wäre es gut, wenn du den Code ein wenig übersichtlicher gestalten würdest. So läßt er sich kaum entziffern.

        <TD width="100%" class="CATNAVBARBODY" ><form style="display:inline;"name="BillTo"><select id="BillToTaxRegion" name="BillToTaxRegion" onChange="getElementByID(xmlOrder,'BillToTaxRegion').childNodes=new Array();

        nur mal ein Tipp am anfang, das ist überflüssig, da du das Element ja schon hast (this)

        1. Vielen Dank an euch!
          Hätte nicht mit soviel unterstützung hier gerechnet!!!
          Werde das nächste mal das Script übersichtlicher einfügen.

          Der Shop ist eine fixfertige Desktop-Anwendung sprich für Leute wie mich die zu doof sind sowas selber zu proggen :-)
          Der Shop setzt sich aus den Snippet Dateien zusammen. Diese Snippets sorgen für den gesamten Aufbau des Shops und das Style eben für das restliche. Wenn ich selbst etwas ändere am Style dann würde das, dass ganze ziemlich durcheinander bringen (vor allem da ich mich noch nicht so gut damit auskenne!)Auszugsweise habt ihr ja bereits schon gesehen wie so eine Snippet Datei aussieht (das gepostete Script)

          Danke nochmal für eure Hilfe!!!
          Werde nun mal probieren eure Tips in die Tat um zu setzen!!!
          Liebe Grüße
          Jürgen

  2. Hallo Weissboeck,

    http://test.photon.co.at

    ähh... welche Datei davon? (btw: wenn du vor die Url ein < und dannach ein > gemacht hättest, könnte man die url auch anklicken) - aber meinst du vielleicht http://test2.photon.co.at (allerdings weiß ich trotzdem nicht, welches Auswahlfenster du meinst)

    Allerdings habe ich hier das Problem, das nun eine Leerzeile gleich nach dem Auswahlfenster ensteht.

    ich tippe mal darauf, dass du ein Formular mit einer Auswahlliste (ein <select>) hast und dieses Formular als block-level-Element einen Zeilenumbruch erzeugt. Diesen kannst du entweder mit style="margin-bottom:0;" oder - wenn das nicht reicht - mit style="display:inline;" entfernen.

    Im Forum des Hersteller der Software gab man mir den rat ich solle die form Tags herausnehemen.

    mit Verlaub gesagt: der Hersteller taugt nichts. (Wenn du das <form>-Tag wegmachst, hast du kein gültiges Formular mehr)

    Gesagt getan. Nun nachdem ich die beiden <form> Tags entfernt habe kommt im IE die Fehlermeldung

    idR. liefern Opera/Mozilla aussagekräftigere Fehlermeldungen als der IE (aber das nur mal am Rande)

    FEHLER: "document.BillTo.BillToTaxRegion" ist Null oder kein Objekt

    logisch, "BillTo" ist ja der name des nicht mehr existenten <form>s - und diesen Namen findet der Browser eben nicht.

    Der entsprechendde Teil des Scripts sieht wie folgt aus:

    das Script habe ich mir jetzt nicht näher angeschaut (das ist mir zu unübersichtlich), aber ich hoffe, dass das ganze auch ohne js funktioniert...

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hallo Tobias

      Die Seite lautet http://test.photon.co.at/indexstore.html

      Wie kann ich dem <form> einen anderen Namen geben bzw so abändern das kein fehler mehr entsteht. Muß zugeben das ich deb horgergehenden Tip noch nicht ausprobiert habe, da ich gerade erst heimgekommen bin.

      Liebe Grüße
      Jürgen Weißböck

      1. Hallo Jürgen,

        Die Seite lautet http://test.photon.co.at/indexstore.html

        ahja, da habe wir das Auswahlfenster ja schon, aber wo ist da der störende Abstand? (evtl. mal einen Screenshot machen) - Moment, Komando zurück; ich habe mir die Seite gerade mal im IE angeschaut, da ist wirklich ein Abstand, allerdings kann da <form> imho nichts dafür, da dürfte das <div> dran Schuld sein. Dein html solltest du auch mal gründlich aufräumen - das schaut ziemlich wüst aus: http://validator.w3.org/check?uri=http%3A%2F%2Ftest.photon.co.at%2Findexstore.html

        Wie kann ich dem <form> einen anderen Namen geben bzw so abändern das kein fehler mehr entsteht.

        du musst das <form> einfach so wie es war drinlassen (bzw. die style-Attribut von den ich geschrieben hatte ergänzen).

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  3. DANKECHÖN!!!

    Hat alles Super geklappt mit euren Tips!
    Endlich funktioniert es ohne Probleme. Habe es auch im Shopsoftwareforum bereitgestellt da andere User auch so Ihre Schwirigkeiten haben!!!

    Sagt mal ist das Forum immer so hilfsbereit? Ist ja echt klasse bei euch!!!
    Liebe Grüße und nochmals ein großes Danke an euch!!!