sparkster112
06-24-2011, 07:37 PM
<script type="text/javascript">
var totalHours = 8;
var exempt = "Y";
function Task(custID, customerName, projectID, projectDescr, taskID, taskDescr)
{
this.CustID = custID;
this.CustomerName = customerName;
this.ProjectID = projectID;
this.ProjectDescr = projectDescr;
this.TaskID = taskID;
this.TaskDescr = taskDescr;
}
var tasks = new Array(); (Various Data Pulls from the server that I deleted)
function validateInput() {
if (form_id.flag.value == "X")
return true;
var hours = 0;
var aTD = document.getElementsByTagName("TD");
for (var i in aTD) {
if (aTD[i].flag == "X" && document.getElementById("CustID" + aTD[i].index).value.length > 0) {
if (document.getElementById("CustID" + aTD[i].index).value.length > 0 && document.getElementById("ProjectID" + aTD[i].index).value.length == 0) {
alert("Project is required");
document.getElementById("ProjectID" + aTD[i].index).focus();
return false;
}
if ((document.getElementById("CustID" + aTD[i].index).value.length > 0 || document.getElementById("ProjectID" + aTD[i].index).value.length > 0) && document.getElementById("TaskID" + aTD[i].index).value.length == 0) {
alert("Task is required");
document.getElementById("TaskID" + aTD[i].index).focus();
return false;
}
if (document.getElementById("Hours" + aTD[i].index).value.length > 0 && isNaN(parseFloat(document.getElementById("Hours" + aTD[i].index).value))) {
alert("Hours can only be numeric");
document.getElementById("Hours" + aTD[i].index).focus();
return false;
}
if ((document.getElementById("CustID" + aTD[i].index).value.length > 0 || document.getElementById("ProjectID" + aTD[i].index).value.length > 0 || document.getElementById("TaskID" + aTD[i].index).value.length > 0) && document.getElementById("Hours" + aTD[i].index).value.length == 0) {
alert("Hours are required");
document.getElementById("Hours" + aTD[i].index).focus();
return false;
}
if (!isNaN(parseFloat(document.getElementById("Hours" + aTD[i].index).value)))
hours += parseFloat(document.getElementById("Hours" + aTD[i].index).value);
}
}
if (exempt != 'Y' && exempt != 'T') {
if (hours > parseFloat(totalHours)) {
alert("Number of hours allocated to projects exceeds hours entered on timesheet (" + totalHours + ").");
return false;
}
}
if (hours < parseFloat(totalHours)) {
alert("Number of hours allocated to projects cannot be less than the hours entered on timesheet (" + totalHours + ").");
return false;
}
return true;
}
function clearAll() {
var aTD = document.getElementsByTagName("TD");
for (var i in aTD) {
if (aTD[i].index != null) {
document.getElementById("CustID" + aTD[i].index).value = "";
document.getElementById("projectContainer" + aTD[i].index).innerHTML = "";
document.getElementById("taskContainer" + aTD[i].index).innerHTML = "";
document.getElementById("Hours" + aTD[i].index).value = "";
}
}
}
function setInitialTasks() {
var aTD = document.getElementsByTagName("TD");
for (var i in aTD) {
if (aTD[i].projectID != null && aTD[i].taskID == null && aTD[i].innerText.length > 0) {
aTD[i].innerHTML = getProjectCombo(aTD[i].index, aTD[i].custID, aTD[i].innerText);
}
if (aTD[i].taskID != null && aTD[i].innerText.length > 0) {
aTD[i].innerHTML = getTaskCombo(aTD[i].index, aTD[i].custID, aTD[i].projectID, aTD[i].innerText);
}
}
}
function getProjectCombo(id, custID, projectID) {
if (custID.length == 0)
return "";
var html = "";
html += "<select id='ProjectID" + id + "' name='record[ProjectID" + id + "]' onchange='taskContainer" + id + ".innerHTML = getTaskCombo(\"" + id + "\",\"" + custID + "\", this.value)' size='1' class='regtxt'>";
html += "<option></option>"
var records = false;
var current = "";
for (var item in tasks) {
if (current == tasks[item].ProjectID)
continue;
current = tasks[item].ProjectID;
if (tasks[item].CustID == custID) {
html += "<option "
if (projectID == tasks[item].ProjectID)
html += "SELECTED ";
html += "value='" + tasks[item].ProjectID + "'>" + tasks[item].ProjectDescr + "</option>"
records = true;
}
}
html += "</select>";
if (records)
return html;
return "No projects for customer";
}
function getTaskCombo(id, custID, projectID, taskID) {
if (projectID.length == 0)
return "";
var html = "";
html += "<select id='TaskID" + id + "' name='record[TaskID" + id + "]' size='1' class='regtxt'>";
html += "<option></option>"
var records = false;
var current = "";
for (var item in tasks) {
if (custID != tasks[item].CustID)
continue;
if (tasks[item].ProjectID == projectID) {
html += "<option "
if (taskID == tasks[item].TaskID)
html += "SELECTED ";
html += "value='" + tasks[item].TaskID + "'>" + tasks[item].TaskDescr + "</option>"
records = true;
}
}
html += "</select>";
if (records)
return html;
return "No tasks for project";
}
</script>
one of our IT guys wrote this who is no longer at the company and i am not very good with CODE ( not really my job) but i was wondering why this does not work in Firefox or Chrome, It only works in IE
please help
thanks
var totalHours = 8;
var exempt = "Y";
function Task(custID, customerName, projectID, projectDescr, taskID, taskDescr)
{
this.CustID = custID;
this.CustomerName = customerName;
this.ProjectID = projectID;
this.ProjectDescr = projectDescr;
this.TaskID = taskID;
this.TaskDescr = taskDescr;
}
var tasks = new Array(); (Various Data Pulls from the server that I deleted)
function validateInput() {
if (form_id.flag.value == "X")
return true;
var hours = 0;
var aTD = document.getElementsByTagName("TD");
for (var i in aTD) {
if (aTD[i].flag == "X" && document.getElementById("CustID" + aTD[i].index).value.length > 0) {
if (document.getElementById("CustID" + aTD[i].index).value.length > 0 && document.getElementById("ProjectID" + aTD[i].index).value.length == 0) {
alert("Project is required");
document.getElementById("ProjectID" + aTD[i].index).focus();
return false;
}
if ((document.getElementById("CustID" + aTD[i].index).value.length > 0 || document.getElementById("ProjectID" + aTD[i].index).value.length > 0) && document.getElementById("TaskID" + aTD[i].index).value.length == 0) {
alert("Task is required");
document.getElementById("TaskID" + aTD[i].index).focus();
return false;
}
if (document.getElementById("Hours" + aTD[i].index).value.length > 0 && isNaN(parseFloat(document.getElementById("Hours" + aTD[i].index).value))) {
alert("Hours can only be numeric");
document.getElementById("Hours" + aTD[i].index).focus();
return false;
}
if ((document.getElementById("CustID" + aTD[i].index).value.length > 0 || document.getElementById("ProjectID" + aTD[i].index).value.length > 0 || document.getElementById("TaskID" + aTD[i].index).value.length > 0) && document.getElementById("Hours" + aTD[i].index).value.length == 0) {
alert("Hours are required");
document.getElementById("Hours" + aTD[i].index).focus();
return false;
}
if (!isNaN(parseFloat(document.getElementById("Hours" + aTD[i].index).value)))
hours += parseFloat(document.getElementById("Hours" + aTD[i].index).value);
}
}
if (exempt != 'Y' && exempt != 'T') {
if (hours > parseFloat(totalHours)) {
alert("Number of hours allocated to projects exceeds hours entered on timesheet (" + totalHours + ").");
return false;
}
}
if (hours < parseFloat(totalHours)) {
alert("Number of hours allocated to projects cannot be less than the hours entered on timesheet (" + totalHours + ").");
return false;
}
return true;
}
function clearAll() {
var aTD = document.getElementsByTagName("TD");
for (var i in aTD) {
if (aTD[i].index != null) {
document.getElementById("CustID" + aTD[i].index).value = "";
document.getElementById("projectContainer" + aTD[i].index).innerHTML = "";
document.getElementById("taskContainer" + aTD[i].index).innerHTML = "";
document.getElementById("Hours" + aTD[i].index).value = "";
}
}
}
function setInitialTasks() {
var aTD = document.getElementsByTagName("TD");
for (var i in aTD) {
if (aTD[i].projectID != null && aTD[i].taskID == null && aTD[i].innerText.length > 0) {
aTD[i].innerHTML = getProjectCombo(aTD[i].index, aTD[i].custID, aTD[i].innerText);
}
if (aTD[i].taskID != null && aTD[i].innerText.length > 0) {
aTD[i].innerHTML = getTaskCombo(aTD[i].index, aTD[i].custID, aTD[i].projectID, aTD[i].innerText);
}
}
}
function getProjectCombo(id, custID, projectID) {
if (custID.length == 0)
return "";
var html = "";
html += "<select id='ProjectID" + id + "' name='record[ProjectID" + id + "]' onchange='taskContainer" + id + ".innerHTML = getTaskCombo(\"" + id + "\",\"" + custID + "\", this.value)' size='1' class='regtxt'>";
html += "<option></option>"
var records = false;
var current = "";
for (var item in tasks) {
if (current == tasks[item].ProjectID)
continue;
current = tasks[item].ProjectID;
if (tasks[item].CustID == custID) {
html += "<option "
if (projectID == tasks[item].ProjectID)
html += "SELECTED ";
html += "value='" + tasks[item].ProjectID + "'>" + tasks[item].ProjectDescr + "</option>"
records = true;
}
}
html += "</select>";
if (records)
return html;
return "No projects for customer";
}
function getTaskCombo(id, custID, projectID, taskID) {
if (projectID.length == 0)
return "";
var html = "";
html += "<select id='TaskID" + id + "' name='record[TaskID" + id + "]' size='1' class='regtxt'>";
html += "<option></option>"
var records = false;
var current = "";
for (var item in tasks) {
if (custID != tasks[item].CustID)
continue;
if (tasks[item].ProjectID == projectID) {
html += "<option "
if (taskID == tasks[item].TaskID)
html += "SELECTED ";
html += "value='" + tasks[item].TaskID + "'>" + tasks[item].TaskDescr + "</option>"
records = true;
}
}
html += "</select>";
if (records)
return html;
return "No tasks for project";
}
</script>
one of our IT guys wrote this who is no longer at the company and i am not very good with CODE ( not really my job) but i was wondering why this does not work in Firefox or Chrome, It only works in IE
please help
thanks