3

I had majority of these functions working and now when i restarted my program they are saying undefined functions through chrome. 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

HTML FILE

<!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
14
  • 3
    where is the <script></script> tag??? Commented Dec 24, 2013 at 3:34
  • ok, i see it... add that in the <head> Commented Dec 24, 2013 at 3:35
  • 1
    You've wrapped your code in a <code> tag, which defines formatting for code segments in markup. You should use a <script> tag instead. Commented Dec 24, 2013 at 3:35
  • 1
    @MikeW I think OP may have put the script in that tag for SO formatting; it might not actually be that way in the HTML/JS files (I believe this is the case because it was working, and the HTML includes an external script, which could have included the code shown in <code> tags. Commented Dec 24, 2013 at 3:37
  • 1
    @trojansdestroy The OP may have done almost anything. I only comment on what I can see. In any case, the <code> tags shouldn't be present. Commented Dec 24, 2013 at 3:40

3 Answers 3

3

You have an error in your code that i pointed,

You have defined function and ended it using ;

function addToGroupServlet(email);

change above to

function addToGroupServlet(email)
Sign up to request clarification or add additional context in comments.

1 Comment

@user2786754 always welcome glad i could point you in right direction.
0

move your:

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

1 Comment

its not necessary to load script tag in head as for faster loading now a days lots of site load it at end of body
-2
you have ended function by ;

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.