所有javascript函数都是从html中定义的

时间:2013-12-24 03:32:17

标签: javascript html

我有大部分这些功能正在运行,现在当我重新启动我的程序时,他们通过chrome说明未定义的功能。不确定确切的问题,我确定我错过了某个地方,但它没有通过日食。真的需要帮助!!!!无法弄清楚确切的位置,或者我会缩短文件,但在这种情况下,我感觉更好比更少,我无法找到代码在哪里打破。谢谢大家

HTML文件

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="layout.css">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Manager Menu</title>

</head>


 <body>
 <div id = "header">
Welcome to the employee database;
</div>
<div id = "login">
Welcome  <label id="welcomeLabel"></label>
<form action="http://localhost/Employee_12_14_13/login.html">
<input type="submit" value="Logout">
        </form>
</div>
<div id = "buttons">
<br/><input type="submit" value="Create Group" onclick='createGroup()'>
<br/><input type="submit" value="Edit Employee" onclick='editEmployee()'>
<br/><input type="submit" value="Search for Employee"  onclick='search()'>
<br/><input type="submit" value="View all employees" onclick='viewAll()'>
<br/><input type="submit" value="Delete Group" onclick='deleteGroup()'>
<br/><input type="submit" value="View all no group" onclick='viewNoGroup()'>
</div>
<div id ="createGroup" style="display:none">
<br/>Enter name of Group: <input type ="text" name="newGroup" id="newGroup">
<input type="submit" value="Enter">
</div>
<div id ="deleteGroup" style="display:none">
<br/>Enter name of Group: <input type ="text" name="newGroup" id="newGroup">
<input type="submit" value="Enter">
</div>
<div id ="Search" style="display:none">
<br/>Employee Email: <input type ="text" name ="toFind" id ="toFind">
<input type="submit" value="Enter" onclick='searchFor()'>
</div><div id ="editPersonalInfo" style="display:none">
<br/>Employee Email: <input type ="text" name="username" id="user">
<br/>Name: <input type="text" name ="name" id="name">
<input type="submit" value="Edit Name" onclick='editName()'>
<br/>Email address: <input type="text" name ="email" id="email">
<input type="submit" value="Edit Email" onclick='editEmail()'>
<br/>Password: <input type="password" name ="pass" id="pass">
<input type="submit" value="Edit Password" onclick='editPass()'>
<br/>Phone number: <input type="text" name ="phone" id="phone">
<input type="submit" value="Edit Phone" onclick='editPhone()'>  
<br/>Programming Language: <input type="text" name ="username" id="user">
<form action="http://localhost/Employee_12_14_13/login.html">
        <input type="submit" value="Logout">
        </form>
        <form action="http://localhost/Employee_12_14_13/menu.html">
        <input type="submit" value="MainMenu">
        </form> 
        </div>
<div id="employeePersonalInfo" style="display:none">

<br/>Id: <label id="id"></label>
<br/>Name: <label id="name"></label>
<br/>Email address: <label id="email"></label>
<br/>Phone number: <label id="phone"></label>       
<form action="http://localhost/Employee_12_14_13/login.html">
        <input type="submit" value="Return">
        </form>
        <form action="http://localhost/Employee_12_14_13/menu.html">
        <input type="submit" value="Menu">
        </form>         
        </div>  
        <div id="viewAllTable" style="border: 0px solid black"></div>
    <div id="viewAllNoGroup" style="border: 0px solid black"></div>             
    <div id="viewAllInGroup" style="border: 0px solid black"></div>
    <div id="searchTable" style="border: 0px solid black"></div>

</body>
<script src="./JS/managerMenu.js"></script>
</html>

JS

function GetRequest() {
    var url = location.search; 
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            theRequest = (strs[i].split("=")[1]);

        }
    }
    return theRequest;
}

function changeLabel()
{
    document.getElementById("welcomeLabel").innerHTML = GetRequest();

}
function createGroup()
{
    }
function deleteGroup()
{
    setAllInvis();
    deleteGroupServlet(GetRequest());
}
function searchFor()
{
    setAllInvis();
    changeLabel();
    callServlet(document.getElementById("toFind").value);

}
function setAllInvis()
{
document.getElementById("viewAllTable").style.display="none";   
document.getElementById("viewAllInGroup").style.display="none"; 
document.getElementById("viewAllNoGroup").style.display="none"; 
document.getElementById("searchTable").style.display="none";    
document.getElementById("createGroup").style.display="none";    
document.getElementById("editPersonalInfo").style.display="none";   
document.getElementById("Search").style.display="none"; 
document.getElementById("deleteGroup").style.display="none";    
document.getElementById("editPersonalInfo").style.display="none";   
document.getElementById("employeePersonalInfo").style.display="none";   
}
function search()
{
    setAllInvis();
    document.getElementById("Search").style.display="block";

}
function editEmployee()
{
    setAllInvis();
    document.getElementById("editPersonalInfo").style.display="block";
}


function editName()
{
    editServlet("name",document.getElementById("user").value,document.getElementById("name").value);
}
function editEmail()
{
    editServlet("email",document.getElementById("user").value,document.getElementById("email").value);
}
function editGroup()
{
    editServlet("group"),document.getElementById("user").value,document.getElementById("group").value;
}
function editPass()
{
    editServlet("pass",document.getElementById("user").value,document.getElementById("pass").value);
}
function editPhone()
{
    editServlet("phone",document.getElementById("user").value,document.getElementById("phone").value);
}
function viewEmployee()
{
    viewEmployee(document.getElementById("toFind").value);
}
function viewNoGroup()
{
    setAllInvis();
    var http = new getXMLHttpRequestObject();
    var url = "viewNoGroupServlet";
    alert("viewNoGroup");
    http.open("POST", url, true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Connection", "close");
        http.onreadystatechange = function() {

                var jsonObj = JSON.parse(http.responseText);

                viewNoGroupTable(jsonObj);

                };


        http.send();
    }


function searchNoGroup()
{
    viewNoGroup();
}
function next(){
    setAllInvis();
    var select = document.getElementById("managerMenu");
    var index = select.selectedIndex;
    var menuOption = select.options[index].value;
    var username = GetRequest();
    if(menuOption=="Search by email address"){
        document.getElementById("username").value = "";
        document.getElementById("message").style.display="none";
        document.getElementById("search").style.display="block";
        document.getElementById("viewAllTable").style.display="none";
    }
    else if(menuOption=="View all"){
        document.getElementById("search").style.display="none";
        document.getElementById("searchTable").style.display="none";
        document.getElementById("viewAllTable").style.display="block";
        viewAll();
    }
}


    function validateLogin(){
        var username = document.getElementById("username").value;



            callServlet(username);

    } 

    function validateEmail(email) { 
        var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        return re.test(email);
    } 

    function getXMLHttpRequestObject() {

        var xmlhttp = 0;


        if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {

            try {
                // Opera 8.0+, Firefox, Chrome, Safari
                 xmlhttp = new XMLHttpRequest();

            } catch (e) {

                xmlhttp = false;

            }

        }

        return xmlhttp;

    }


function editServlet(toEdit,email,changeTo)
{


        var parameters = "username="+email+"&toChange="+toEdit+"&changeTo="+changeTo;
        var http = new getXMLHttpRequestObject();
        var url = "editInformationServlet";

        http.open("POST", url, true);

        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        http.setRequestHeader("Content-length", parameters.length);
        http.setRequestHeader("Connection", "close");


            http.send(parameters);
}


function callServlet(username){
    var http = new getXMLHttpRequestObject();
    var url = "Menu";
    var parameters = "username=" + username;

    http.open("POST", url, true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Connection", "close");
        http.onreadystatechange = function() {

                var jsonObj = JSON.parse(http.responseText);

                searchTable(jsonObj);

                }


        http.send(parameters);
    }

function deleteGroupServlet(username){
    var http = new getXMLHttpRequestObject();
    var url = "deleteGroupServlet";
    var parameters = "username="+username;
    http.open("POST", url, true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", parameters.length);

    http.setRequestHeader("Connection", "close");




        http.send(parameters);
}
function addToGroup()
{
        var table = document.getElementsByTagName("table")[0];
        var tbody = table.getElementsByTagName("tbody")[0];
        tbody.onclick = function (e) {
            e = e || window.event;
            var data = [];
            var target = e.srcElement || e.target;
            while (target && target.nodeName !== "TR") {
                target = target.parentNode;
            }
            if (target) {
                var cells = target.getElementsByTagName("td");
                for (var i = 0; i < cells.length; i++) {
                    data.push(cells[i].innerHTML);
                }

            }
            alert(data);
            var email=data[3];
            alert(email);
            addToGroupServlet(email);
        }



}
function addToGroupServlet(email);
{
    var parameters = "username="+email+"&managerEmail="+GetRequest();
    var http = new getXMLHttpRequestObject();
    var url = "addToGroupServlet";
    alert("In add to group");
    http.open("POST", url, true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", parameters.length);
    http.setRequestHeader("Connection", "close");


        http.onreadystatechange = function() {// Handler function for call back on
            if(http.readyState==4){


                alert("addedToGroup");
                ViewAllServlet();

            }

        http.send(parameters);
    }
}
function deleteFromGroup(){


        var table = document.getElementsByTagName("table")[0];
        var tbody = table.getElementsByTagName("tbody")[0];
        tbody.onclick = function (e) {
            e = e || window.event;
            var data = [];
            var target = e.srcElement || e.target;
            while (target && target.nodeName !== "TR") {
                target = target.parentNode;
            }
            if (target) {
                var cells = target.getElementsByTagName("td");
                for (var i = 0; i < cells.length; i++) {
                    data.push(cells[i].innerHTML);
                }

            }
            alert(data);
            var email=data[3];
            alert(email);
            deleteFromGroupServlet(email);
        }

    }

function deleteFromGroupServlet(email)
{
    var parameters = "username="+email;
    var http = new getXMLHttpRequestObject();
    var url = "deleteFromGroupServlet";
    alert("In delete from group");
    http.open("POST", url, true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", parameters.length);
    http.setRequestHeader("Connection", "close");


        http.onreadystatechange = function() {// Handler function for call back on
            if(http.readyState==4){


                alert("deletedFromGroup");
                ViewAllServlet();

            }
        }
        http.send(parameters);
    }



function searchTable(jsonObj) {

    var data = '';

    data += '<table border=1><tbody><tr>';
    data += '<th> ID </th>';
    data += '<th> Name </th>';
    data += '<th> Salary </th>';
    data += '<th> Email address </th>';
    data += '<th> Phone number </th>';
       for (var i = 0; i < 1; i++) {
        data += '<tr>';

         data += '<td>' + jsonObj.id + '</td>';
         data += '<td>' + jsonObj.name + '</td>';
         data += '<td>' + jsonObj.salary + '</td>';
         data += '<td>' + jsonObj.email + '</td>';
         data += '<td>' + jsonObj.phone + '</td>';

        data += '</tr>';
       }
       data += '</tbody><table>';

       document.getElementById("searchTable").innerHTML = data;
   }
function viewAll(){
    ViewAllServlet();
}
function ViewAllServlet(){
    var http = new getXMLHttpRequestObject();
    var url = "viewAllServlet";
    var email =GetRequest();
    var parameters = "username="+email;

    http.open("POST", url, true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Connection", "close");


        http.onreadystatechange = function() {// Handler function for call back on
            if(http.readyState==4){

                var jsonObj = JSON.parse(http.responseText);       
                viewAllTable(jsonObj);
                setAllInvis();
                document.getElementById("viewAllTable").style.display="block";

            }


        http.send(parameters);
    }


}
function viewNoGroupTable(jsonObj)
{
    var data = '';

    data += '<table border=1><tbody><tr>';
    data += '<th> ID </th>';
    data += '<th> Name </th>';
    data += '<th> Salary </th>';
    data += '<th> Email address </th>';
    data += '<th> Phone number </th>';
       for (var i = 0; i < jsonObj.length; i++) {
        data += '<tr>';

        //for (var j = 0; j < colMax; j++) {
         data += '<td>' + jsonObj[i].id + '</td>';
         data += '<td>' + jsonObj[i].name + '</td>';
         data += '<td>' + jsonObj[i].salary + '</td>';
         data += '<td>' + jsonObj[i].email + '</td>';
         data += '<td>' + jsonObj[i].phone + '</td>';
        data += '<td><input type="submit" onclick="addToGroup()" value = Add To Group></td>';
        //}
        data += '</tr>';
       }
       data += '</tbody><table>';
       alert("creating table");
           document.getElementById('viewAllNoGroup').innerHTML = data;
            document.getElementById('viewAllNoGroup').style.display="block";

       }


function viewAllTable(jsonObj) {
var data = '';

data += '<table border=1><tbody><tr>';
data += '<th> ID </th>';
data += '<th> Name </th>';
data += '<th> Salary </th>';
data += '<th> Email address </th>';
data += '<th> Phone number </th>';
   for (var i = 0; i < jsonObj.length; i++) {
    data += '<tr>';

    //for (var j = 0; j < colMax; j++) {
     data += '<td>' + jsonObj[i].id + '</td>';
     data += '<td>' + jsonObj[i].name + '</td>';
     data += '<td>' + jsonObj[i].salary + '</td>';
     data += '<td>' + jsonObj[i].email + '</td>';
     data += '<td>' + jsonObj[i].phone + '</td>';
    data += '<td><input type="submit" onclick="deleteFromGroup()" value = "Delete from Group"></td>';
    //}
    data += '</tr>';
   }
   data += '</tbody><table>';

       document.getElementById('viewAllTable').innerHTML = data;
   }





Not sure the exact problem, im sure im missing something somewhere but its not coming up through eclipse. REALLY NEED HELP !!!! cant figure out the exact location or i would have shortened the files but i felt more is better than less in this instance where i cant find out where the code is breaking. Thank you all

3 个答案:

答案 0 :(得分:2)

我指出的代码中有错误,

您已定义了函数并使用;

结束了该函数
function addToGroupServlet(email);

更改为

function addToGroupServlet(email)

答案 1 :(得分:0)

移动你的:

<script src="./JS/managerMenu.js"></script> tags to the <head> section

答案 2 :(得分:-2)

you have ended function by ;

function addToGroupServlet(email){
    //....
}