InvalidStateError: DOM Exception 11 und Uncaught TypeError: Cannot call method 'submit' null

Suchte ich nach einer möglichen Antwort und habe mich durch ein paar posts darunter
Wie zu beheben "Uncaught TypeError: Cannot call method 'appendChild' von null" und Empfangen "InvalidStateError: DOM Exception 11" beim websocket.senden aber keiner von Ihnen scheinen, um mein problem zu lösen.
Die Schaltfläche speichern, um Daten aus html-Formular in die mysql-Datenbank arbeiten völlig in Ordnung, bis die Seite begann mit zwei FehlernInvalidStateError: DOM Exception 11 und Uncaught TypeError: Cannot call method 'submit' null

  1. Dem drop-down-Menüs auf der Seite aktualisiert werden dynamisch aus der Datenbank mittels ajax. Sie sind immer noch gut funktioniert, und automatisch aktualisiert, je nach der gewählten option, aber wenn ich klicken Sie auf die drop-down-Menüs, die Fehler Konsole zeigt "Uncaught error: InvalidStateError: DOM Exception 11 on createoptions.js line 37 die xmlhttp.send();

  2. Wenn ich auf die Schaltfläche speichern, statt eine Antwort oder speichern von Daten in die Datenbank ein Fehler auftaucht, der sagt, Uncaught TypeError: Cannnot call method "submit" of null. Aufpassen, das Objekt, ruft der Methode submit() bereits vorhanden ist. Ich verwendet document.getElementById('studentdata').submit()" und die form studentdata existiert auf der gleichen Seite.

Freundlicherweise highlight der Grund für diese Fehler und was kann ich tun, um Sie zu lösen. Im folgenden ist der code.

createoptions.js

function setdepartment(value){
  var xmlhttp;
  if (window.XMLHttpRequest)
  {//code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }
  else
  {//code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function()
  {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      document.getElementById("departmentselect1").innerHTML=xmlhttp.responseText;
    }
  }


  switch(value){
    case "Allied Health Sciences" : xmlhttp.open("GET","deptahs.php",true); break;
    case "Engineering and Inter-disciplinary sciences" : xmlhttp.open("GET","depteids.php",true); break;
    case "HIMSR" : xmlhttp.open("GET","depthimsr.php",true); break;
    case "Islamic Studies and Social Sciences" : xmlhttp.open("GET","deptisss.php",true); break;
    case "Management and Information Technology" : xmlhttp.open("GET","deptmanagement.php",true); break;
    case "Medicine (Unani)" : xmlhttp.open("GET","deptmedicine.php",true); break;
    case "Nursing" : xmlhttp.open("GET","deptnursing.php",true); break;
    case "Pharmacy" : xmlhttp.open("GET","deptpharmacy.php",true); break;
    case "Science" : xmlhttp.open("GET","deptscience.php",true); break;
  }  

  xmlhttp.send();

}

page.php und die Linie bezeichnet ist <li><a class="button black" form="studentdata" onclick="document.getElementById('studentdata').submit()">Save</a></li>

<div class="navbutton">
  <aside>
    <ul>
      <li><a class="button black" href="logout.php">Logout</a></li>
      <li><a class="button black" onclick="addRow()">Add Row</a></li>
      <li><a href="#searchbox" class="button black" onclick="showsearch()">Search</a></li>
      <li><a href="#promotediv" class="button black" onclick="showpromote()">Promote</a></li>
      <li><a class="button black" form="studentdata" onclick="document.getElementById('studentdata').submit()">Save</a></li>
    </ul>
  </aside>
</div>

<form id="studentdata" action="savedata.php" method="POST">
  <div style=" padding-left:350px; ">   
    <div  class="dropdown dropdown-dark">
    <select name="facultyselect1" id="facultyselect1" style="width:300px;" class="dropdown-select " onfocus="setdepartment(this.value)" onchange="setdepartment(this.value)" required>
        <option value="">Select an option</option>

        <div id="facultyselect1">
                        <?php
                            @ $db = mysql_connect("localhost", "root", "");
                            mysql_select_db("university");
                            $strSQL = "SELECT facultyname FROM faculty";
                            $rs = mysql_query($strSQL);
                            $nr = mysql_num_rows($rs);
                            for ($i=0; $i<$nr; $i++) {
                            $r = mysql_fetch_array($rs);
                            echo "<OPTION VALUE=\"".$r["facultyname"]."\">".$r["facultyname"]."</OPTION>";
                            }
                        ?>
        </div>
      </SELECT>
    </div> 


    <div class="dropdown dropdown-dark">
      <select name="departmentselect1" id="departmentselect1" class="dropdown-select" onchange="setcourse(this.value)" onfocus="setcourse(this.value)" required>
        <option value="">Select an option</option>

        <div id="departmentselect1">
        </div>
      </select>
    </div> 

  </div>
</form>
zeigen kann das savedata.php aber ich glaube nicht, dass es nötig wäre.
tun console.log( value ); in Ihrem setdepartment Funktion. Hat es tatsächlich mit Ihrem 'Fall' - Werte?
Ich bin immer die Werte in meinem zweiten drop-down -, das sollte die setdepartment Funktion ist in Ordnung. Was bin ich mehr besorgt, ist der zweite Fehler, dass ich beim klicken auf submit-button.
Ich merke, zwei Elemente mit der gleichen id. Eine id muss immer eindeutig sein, so ändern Sie eines der Elemente mit der id departmentselect1.
yup, aber im ernst, mit den gleichen ids, ich war in der Lage, zum speichern von Daten in der Datenbank vor. Was ist der Grund für ` kann nicht rufen Sie die Methode "submit" null " hier.

InformationsquelleAutor akashaggarwaal | 2013-07-05

Schreibe einen Kommentar