tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
609
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Spacedoener
    Spacedoener Spacedoener ist offline Mitglied Silber
    Registriert seit
    Oct 2003
    Ort
    Spacedoener
    Beiträge
    58
    Hi,

    habe einen ernsthaften problem und hoffe ihr könnt mir dabei Helfen...

    Wie kann ich diesen Fehlermeldung denn mit "if-schleife" abfangen ?


    Fehlermeldung:
    Es ist ein Laufzeitfehler aufgetreten.
    Soll der Debugmodus gestartet werden?

    Zeile: 203
    Fehler: "document.forms.artikel.combo_kat.selectedIndex' ist Null oder kein Objekt


    Würde mich echt sehr freuen, wenn ihr mir dabei Helfen könnt, bin für jede kleine Hilfe sehr dankbar...

    MfG
    Spacedoener
     

  2. #2
    Avatar von Thomas Lindner
    Thomas Lindner Thomas Lindner ist offline Mitglied Diamant
    Registriert seit
    Dec 2001
    Ort
    Schwarzenbek, Germany
    Beiträge
    5.022
    Etwas mehr vom Qelltext wäre jetzt sehr hilfreich, weil sonst können wir nicht helfen.

    Und so TOP SECREt wird dein Code ja nicht sein!
     
    Die Signatur befindet sich aus Platzgründen auf der Rückseite!

  3. #3
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Falls mir meine Kristallkugel richtig vermeldet hat, dass "artikel" der Name des Formulars ist, und "combo_kat " Name des <select>'s innerhalb des Formulars, sollte die Zeile heissen:
    Code :
    1
    
    document.artikel.combo_kat.selectedIndex
    oder
    Code :
    1
    
    document.forms['artikel'].combo_kat.selectedIndex
     

  4. #4
    Avatar von Spacedoener
    Spacedoener Spacedoener ist offline Mitglied Silber
    Registriert seit
    Oct 2003
    Ort
    Spacedoener
    Beiträge
    58
    Hi,

    dankeschön für eure rasche Antwort aber mein problem ist in PHP Script und da werden zwei Comboboxen so aufgebaut:

    1. Combobox (2. sieht genauso aus)
    PHP-Code:
    <?php
        $form 
    "artikel";

        if(
    mysql_num_rows($ergebnis_kat) >0)
        {
            echo 
    "<select class='button' name='combo_Kat' size='1' onChange='combo(\"".$form."\")'>".
            
    "<option value = '-1'>Wählen Sie einen Kategorie aus:</option>";
            for(
    $i=0$i<mysql_num_rows($ergebnis_kat); $i++)
            {
                
    $id_kat mysql_result($ergebnis_kat$i'Katid');
                
    $uname_kat mysql_result($ergebnis_kat$i'Kategoriename');
                
    $string1_kat strlen($id_kat);

                echo 
    "<option value = '".$id_kat;

                echo 
    "'>ID: ";
                echo 
    $uname_kat."</option>";
            }
            echo 
    "</select>";
        }
        else
        {
            echo 
    "<font size='-1'>Es ist kein Kategorie vorhanden!</font>";
        }
    ?>
    Und die JS-Funktion sieht so aus:
    PHP-Code:
        function combo(form_name)
        {
            if((
    document.forms[form_name].combo_Kat.selectedIndex && document.forms[form_name].combo_Lief.selectedIndex) != 0)
            {
                
    document.forms[form_name].action.disabled = (this.selectedIndex == true false);
            }
            else
            {
                
    document.forms[form_name].action.disabled = (this.selectedIndex != true false);
            }
        } 
    Mein Problem ist, wenn einer der beiden Comboboxen nicht vorhanden ist / existiert (ist ja auch klar, wenn der if-schleife == false ist) und somit kommt auch diese eine Fehlermeldung die ich schon oben gepostet habe...

    Freue mich auf jede kleine Hilfe und hoffe ich könnt mir auch Helfen...

    MfG
    Spacedoener
     

  5. #5
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Du könntest mit einem try/catch Statement arbeiten.....

    ....da wird das eine mit "try"probiert....wenn es fehlschlägt, kannst du den entstehenden Fehler per "catch" abfangen.

    Infos zu try/catch
     

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Habs nochmal genauer betrachtet....

    zum einen...der Objektverweis per "this" funktioniert innerhalb der Funktion so nicht... du musst der Funktion die Auswahlliste per "this" beim Aufruf übergeben.
    Ob eine der Listen fehlt, kannst du per "typeof" ermitteln, das gibt "object"zurück, wenn die jeweilige Liste existiert.

    Ich hab das jetzt so verstanden, dass "action" ein Button ist, welcher deaktiviert werden soll, wenn:

    a.)Eine der Listen nicht existiert und der selectedIndex 0 ist

    oder

    b.)Beide Listen existieren und der selectedIndex nicht 0 ist


    wenn ichs richtig verstanden habe, könnte das so aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <script type="text/javascript">
    <!--
    function combo(objSelect)
        {
        cond1=(typeof objSelect.form.combo_Kat=='object'&&typeof objSelect.form.combo_Lief=='object')? 1 : 0;
        cond2=(objSelect.selectedIndex==0)? 0 : 1;
        objSelect.form.action.disabled=(cond1==cond2)?true:false;
        }
    //-->
    </script>
    der Aufruf erfolgt per:
    Code :
    1
    2
    3
    
    <select name="combo_Kat"onchange="combo(this)">
    <!--bzw.-->
    <select name="combo_Lief"onchange="combo(this)">
    Geändert von Sven Mintel (11.04.04 um 13:22 Uhr)
     

  7. #7
    Avatar von Spacedoener
    Spacedoener Spacedoener ist offline Mitglied Silber
    Registriert seit
    Oct 2003
    Ort
    Spacedoener
    Beiträge
    58
    Original geschrieben von fatalus
    Habs nochmal genauer betrachtet....

    zum einen...der Objektverweis per "this" funktioniert innerhalb der Funktion so nicht... du musst der Funktion die Auswahlliste per "this" beim Aufruf übergeben.
    Ob eine der Listen fehlt, kannst du per "typeof" ermitteln, das gibt "object"zurück, wenn die jeweilige Liste existiert.

    Ich hab das jetzt so verstanden, dass "action" ein Button ist, welcher deaktiviert werden soll, wenn:

    a.)Eine der Listen nicht existiert und der selectedIndex 0 ist

    oder

    b.)Beide Listen existieren und der selectedIndex nicht 0 ist


    wenn ichs richtig verstanden habe, könnte das so aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <script type="text/javascript">
    <!--
    function combo(objSelect)
        {
        cond1=(typeof objSelect.form.combo_Kat=='object'&&typeof objSelect.form.combo_Lief=='object')? 1 : 0;
        cond2=(objSelect.selectedIndex==0)? 0 : 1;
        objSelect.form.action.disabled=(cond1==cond2)?true:false;
        }
    //-->
    </script>
    der Aufruf erfolgt per:
    Code :
    1
    2
    3
    
    <select name="combo_Kat"onchange="combo(this)">
    <!--bzw.-->
    <select name="combo_Lief"onchange="combo(this)">
    Juhuuu es klappt...
    Genau so wollte ich es haben *freu...
    Bist ein Genie

    Du ich habe noch einen Problem wo mit ich gar nicht klar komme, hoffe du kannst mir dabei Helfen...

    Also, ich habe per div und javascript eine Menü gebastelt, was auch herrvoragend funktioniert...
    Leider funktioniert die Links (also <a href...>) nur dann, wenn mehrere Links die gleiche Pfade haben, indemfall momentan nur mit "#"...
    Aber wenn ich zu jedem Link einen anderen Pfad setze, dann klappt nichts mehr *heul...
    Kannst du mir dabei Helfen bitte ?

    Das ganze sieht so aus...

    PHP-Code:
    <script type="text/javascript">
    <!--

    function 
    show(divid) {
    document.getElementById("cat1").style.display="none";
    document.getElementById("cat2").style.display="none";

    document.getElementById(divid).style.display="inline";

    }
    //-->
    </script>



    <a href="#" onclick="show('cat1')">Category 1</a><br>
    <div id="cat1" style="display:none">
    <a href="#" class="sub">Sub 1</a><br>
    <a href="#" class="sub">Sub 2</a><br>
    <a href="#" class="sub">Sub 3</a><br>
    </div><br>
    <a href="#" onclick="show('cat2')">Category 2</a><br>
    <div id="cat2" style="display:none">
    <a href="#" class="sub">Sub 1</a><br>
    <a href="#" class="sub">Sub 2</a><br>
    <a href="#" class="sub">Sub 3</a><br>
    </div><br> 
    Freue mich wirklich auf jede kleine Hilfe von euch...

    MfG
    Spacedoener

    PS: Wünsche euch allen Frohes Ostern !
    Geändert von Spacedoener (12.04.04 um 16:06 Uhr)
     

  8. #8
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Bevor wir uns zu dem neuen Problem in 2 verschiedenen Threads austauschen, würd ich vorschlagen, wir einigen uns darauf, diesen hier ruhen zu lassen, und dort weiterzumachen
     

  9. #9
    Avatar von Spacedoener
    Spacedoener Spacedoener ist offline Mitglied Silber
    Registriert seit
    Oct 2003
    Ort
    Spacedoener
    Beiträge
    58
    Hi Fatalus,

    dankeschön für deine rasche Antwort...
    Ja ist anscheinend besser und sinnvoller

    MfG
    Spacedoener
     

Ähnliche Themen

  1. Access, ComboBox gemäß ComboBox füllen?
    Von pglw im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 17.09.06, 22:08
  2. VBA ! Combobox
    Von KingOfMetropole im Forum Visual Basic 6.0
    Antworten: 14
    Letzter Beitrag: 18.02.05, 17:26
  3. ComboBox mit DB
    Von fablio im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 04.02.05, 14:10
  4. ComboBox
    Von c-hilgert im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 07.06.04, 10:58
  5. VB 6.0 - ComboBox
    Von Rudolph im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 21.01.04, 11:27