[Webtest] clickbutton cannot find form submit
Scot Hale
webtest@lists.canoo.com
Wed, 19 Feb 2003 17:51:48 -0800
This is a multi-part message in MIME format.
------=_NextPart_000_39b6_4145_73c8
Content-Type: text/html
<html><div style='background-color:'><DIV>
<DIV></DIV>
<DIV></DIV>
<DIV>I have been trying to get a this ant task to work </DIV>
<DIV> </DIV>
<DIV><setinputfield <BR> stepid="set user name on login page"<BR> name="email"<BR> value="<A href="mailto:jennifer.smith@someplace.com">jennifer.smith@someplace.com</A>" <BR>/></DIV>
<DIV><setinputfield <BR> stepid="set password on login page"<BR> name="password"<BR> value="password" <BR>/></DIV>
<DIV><clickbutton <BR> stepid="Click the submit button on login page"<BR> name="submit"<BR>/></DIV>
<DIV> </DIV>
<DIV>I have tried about ten different permutations that might work, and they all come out with this error message : <BR><BR>Test failed.<BR>Test step clickbutton named "Click the submit button on login page" failed with message "Button with name <submit> and value <<not specified>> not found!"<BR></DIV>
<DIV>Is there a problem with the attached html file that it fails on? I cannot figure out what the problem is. Is it obvious what my problem is? I have been looking at this for a day now and haven't seen the problem. Although I am new to Canoo.<BR></DIV>
<DIV>Scot Hale </DIV>
<DIV></DIV>
<DIV></DIV>
<DIV>email: halesm@hotmail.com </DIV>
<DIV></DIV></DIV></div><br clear=all><hr>Protect your PC - <a href="http://g.msn.com/8HMPENUS/2755">Click here</a> for McAfee.com VirusScan Online </html>
------=_NextPart_000_39b6_4145_73c8
Content-Type: text/html; name="lastResponse1045703822680.html"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="lastResponse1045703822680.html"
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- TEMPLATE: DEFAULT -->
<html>
<head>
<title>Extranet Management Login</title>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<script type="text/javascript" language="javascript1.2">
var initFunctionList = new Array();
function registerInitFunction (aFunctionRef) {
initFunctionList[initFunctionList.length] = aFunctionRef;
}
function init () {
// call each registered init function
for (var i = 0; i < initFunctionList.length; i++) {
initFunctionList[i]();
}
}
</script>
<link rel="stylesheet" href="/tmobile-exmt/css/exmt.css" type="text/css">
<link href="/tmobile-exmt/masthead/css/masthead.css" type="text/css" rel="stylesheet">
<link rel="stylesheet" href="/tmobile-exmt/css/panels.css" type="text/css">
<link rel="stylesheet" href="/tmobile-exmt/css/buttons.css" type="text/css">
<link rel="stylesheet" href="/tmobile-exmt/css/containers.css" type="text/css">
<style type="text/css">
/* the "high-pass" hack. We need to hide some of the NN6+ targeted statements
- which use complex child selectors and throw winIE5 for a loop */
@import "null?\"\{";
@import "/css/containerNN6nesting.css";
</style>
<SCRIPT LANGUAGE="Javascript1.1">
<!-- Begin
var bCancel = false;
function validateLoginForm(form) {
if (bCancel)
return true;
else
return validateRequired(form) && validateEmail(form);
}
function required () {
this.aa = new Array("email", "E-Mail must be provided.", new Function ("varName", " return this[varName];"));
this.ab = new Array("password", "Password must be provided.", new Function ("varName", " return this[varName];"));
}
function email () {
this.aa = new Array("email", "The provided E-Mail is not valid", new Function ("varName", " return this[varName];"));
}
/**
* Script to be used when an element is required if another element is
* in use, for instance, when a checkbox is checked, a separate textfield
* must be filled in. The checkbox is the "otherElement" dependancy.
*
* Author: Maven Johnson
*/
function validateOtherElement(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oOtherElement = new otherElement();
var theOtherElement = null;
for (x in oOtherElement) {
// alert(x+': element ['+form[oOtherElement[x][0]].name+'], has value ['+form[oOtherElement[x][0]].value+']');
if (form[oOtherElement[x][0]].value == '') {
theOtherElement = form[oOtherElement[x][2]("otherElement")];
if (theOtherElement != null) {
if (theOtherElement.type == 'checkbox')
if (theOtherElement.checked)
bValid = false;
else if (theOtherElement.value == '')
bValid = false;
}
if (!bValid) {
if (i == 0) {
focusField = form[oOtherElement[x][0]];
}
fields[i++] = oOtherElement[x][1];
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateByte(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oByte = new ByteValidations();
for (x in oByte) {
if ((form[oByte[x][0]].type == 'text' ||
form[oByte[x][0]].type == 'textarea' ||
form[oByte[x][0]].type == 'select-one' ||
form[oByte[x][0]].type == 'radio') &&
(form[oByte[x][0]].value.length > 0)) {
var iValue = parseInt(form[oByte[x][0]].value);
if (isNaN(iValue) || !(iValue >= -128 && iValue <= 127)) {
if (i == 0)
focusField = form[oByte[x][0]];
fields[i++] = oByte[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateMaxLength(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oMaxLength = new maxlength();
for (x in oMaxLength) {
if (form[oMaxLength[x][0]].type == 'text' ||
form[oMaxLength[x][0]].type == 'textarea') {
var iMax = parseInt(oMaxLength[x][2]("maxlength"));
if (!(form[oMaxLength[x][0]].value.length <= iMax)) {
if (i == 0) {
focusField = form[oMaxLength[x][0]];
}
fields[i++] = oMaxLength[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateRequired(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRequired = new required();
for (x in oRequired) {
if ((form[oRequired[x][0]].type == 'text' ||
form[oRequired[x][0]].type == 'textarea' ||
form[oRequired[x][0]].type == 'select-one' ||
form[oRequired[x][0]].type == 'radio' ||
form[oRequired[x][0]].type == 'password') &&
(form[oRequired[x][0]].value == '')) {
if (i == 0) {
focusField = form[oRequired[x][0]];
}
fields[i++] = oRequired[x][1];
bValid = false;
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateInteger(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oInteger = new IntegerValidations();
for (x in oInteger) {
if ((form[oInteger[x][0]].type == 'text' ||
form[oInteger[x][0]].type == 'textarea' ||
form[oInteger[x][0]].type == 'select-one' ||
form[oInteger[x][0]].type == 'radio') &&
(form[oInteger[x][0]].value.length > 0)) {
var iValue = parseInt(form[oInteger[x][0]].value);
if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) {
if (i == 0) {
focusField = form[oInteger[x][0]];
}
fields[i++] = oInteger[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateRange(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRange = new range();
for (x in oRange) {
if ((form[oRange[x][0]].type == 'text' ||
form[oRange[x][0]].type == 'textarea') &&
(form[oRange[x][0]].value.length > 0)) {
var iMin = parseInt(oRange[x][2]("min"));
var iMax = parseInt(oRange[x][2]("max"));
var iValue = parseInt(form[oRange[x][0]].value);
if (!(iValue >= iMin && iValue <= iMax)) {
if (i == 0) {
focusField = form[oRange[x][0]];
}
fields[i++] = oRange[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateDate(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oDate = new DateValidations();
for (x in oDate) {
var value = form[oDate[x][0]].value;
var datePattern = oDate[x][2]("datePatternStrict");
if ((form[oDate[x][0]].type == 'text' ||
form[oDate[x][0]].type == 'textarea') &&
(value.length > 0) &&
(datePattern.length > 0)) {
var MONTH = "MM";
var DAY = "dd";
var YEAR = "yyyy";
var orderMonth = datePattern.indexOf(MONTH);
var orderDay = datePattern.indexOf(DAY);
var orderYear = datePattern.indexOf(YEAR);
if ((orderDay < orderYear && orderDay > orderMonth)) {
var iDelim1 = orderMonth + MONTH.length;
var iDelim2 = orderDay + DAY.length;
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
if (iDelim1 == orderDay && iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");
} else if (iDelim1 == orderDay) {
dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$");
} else if (iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$");
} else {
dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[2], matched[1], matched[3])) {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else if ((orderMonth < orderYear && orderMonth > orderDay)) {
var iDelim1 = orderDay + DAY.length;
var iDelim2 = orderMonth + MONTH.length;
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
if (iDelim1 == orderMonth && iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");
} else if (iDelim1 == orderMonth) {
dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$");
} else if (iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$");
} else {
dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[1], matched[2], matched[3])) {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else if ((orderMonth > orderYear && orderMonth < orderDay)) {
var iDelim1 = orderYear + YEAR.length;
var iDelim2 = orderMonth + MONTH.length;
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
if (iDelim1 == orderMonth && iDelim2 == orderDay) {
dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$");
} else if (iDelim1 == orderMonth) {
dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$");
} else if (iDelim2 == orderDay) {
dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$");
} else {
dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[3], matched[2], matched[1])) {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function isValidDate(day, month, year) {
if (month < 1 || month > 12) {
return false;
}
if (day < 1 || day > 31) {
return false;
}
if ((month == 4 || month == 6 || month == 9 || month == 11) &&
(day == 31)) {
return false;
}
if (month == 2) {
var leap = (year % 4 == 0 &&
(year % 100 != 0 || year % 400 == 0));
if (day>29 || (day == 29 && !leap)) {
return false;
}
}
return true;
}
function validateCreditCard(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oCreditCard = new creditCard();
for (x in oCreditCard) {
if ((form[oCreditCard[x][0]].type == 'text' ||
form[oCreditCard[x][0]].type == 'textarea') &&
(form[oCreditCard[x][0]].value.length > 0)) {
if (!luhnCheck(form[oCreditCard[x][0]].value)) {
if (i == 0) {
focusField = form[oCreditCard[x][0]];
}
fields[i++] = oCreditCard[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
/**
* Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
*/
function luhnCheck(cardNumber) {
if (isLuhnNum(cardNumber)) {
var no_digit = cardNumber.length;
var oddoeven = no_digit & 1;
var sum = 0;
for (var count = 0; count < no_digit; count++) {
var digit = parseInt(cardNumber.charAt(count));
if (!((count & 1) ^ oddoeven)) {
digit *= 2;
if (digit > 9) digit -= 9;
};
sum += digit;
};
if (sum == 0) return false;
if (sum % 10 == 0) return true;
};
return false;
}
function isLuhnNum(argvalue) {
argvalue = argvalue.toString();
if (argvalue.length == 0) {
return false;
}
for (var n = 0; n < argvalue.length; n++) {
if ((argvalue.substring(n, n+1) < "0") ||
(argvalue.substring(n,n+1) > "9")) {
return false;
}
}
return true;
}
/**
* Script to be used with multipleSelectionTable component to
* validate that at least one checkbox is checked. If a field
* named 'requestedAction' is present, the validation only happens
* if requestedAction is filled.
*
* Author: Susan Nelson
*/
function validateMultipleSelectionFormEntry(form) {
if ((form.requestedAction != null) && (form.requestedAction.length == 0)) {
return true;
}
var isChecked = false;
if (form.selectedItems.type == "checkbox") { // not an array if only one box
if (form.selectedItems.checked) {
isChecked = true;
}
}
else
{
for (var i = 0; i < form.selectedItems.length; i++)
{
if (form.selectedItems[i].checked){
isChecked = true;
}
}
}
if (!isChecked) {
var oSelections = new multipleSelectionEntry();
var message;
for (x in oSelections) {
message = oSelections[x][1];
}
alert(message);
return false;
}
return true;
}
/**
* Script to be used with label select box 809 component to
* validate that the selection is not the default selection.
* Note: This script assumes that the default option is named "default".
*
* Author: Susan Nelson
*/
function validateRequiredSelectionFormEntry(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRequired = new requiredSelectionEntry();
for (x in oRequired) {
if (form[oRequired[x][0]].type == 'select-one') {
if ((form[oRequired[x][0]].value.length == 0) ||
("default" == form[oRequired[x][0]].value)) {
if (i == 0) {
focusField = form[oRequired[x][0]];
}
fields[i++] = oRequired[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateShort(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oShort = new ShortValidations();
for (x in oShort) {
if ((form[oShort[x][0]].type == 'text' ||
form[oShort[x][0]].type == 'textarea' ||
form[oShort[x][0]].type == 'select-one' ||
form[oShort[x][0]].type == 'radio') &&
(form[oShort[x][0]].value.length > 0)) {
var iValue = parseInt(form[oShort[x][0]].value);
if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 32767)) {
if (i == 0) {
focusField = form[oShort[x][0]];
}
fields[i++] = oShort[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateEquals(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oEquals = new equals();
for (x in oEquals) {
if ((form[oEquals[x][0]].type == 'text' ||
form[oEquals[x][0]].type == 'textarea' ||
form[oEquals[x][0]].type == 'password') &&
(form[oEquals[x][0]].value.length > 0)) {
// alert('element: ['+form[oEquals[x][0]].value+'], confirmElement: ['+form[oEquals[x][2]("secondProperty")].value+']');
if (form[oEquals[x][0]].value != form[oEquals[x][2]("secondProperty")].value) {
if (i == 0) {
focusField = form[oEquals[x][0]];
}
fields[i++] = oEquals[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateFloat(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oFloat = new FloatValidations();
for (x in oFloat) {
if ((form[oFloat[x][0]].type == 'text' ||
form[oFloat[x][0]].type == 'textarea' ||
form[oFloat[x][0]].type == 'select-one' ||
form[oFloat[x][0]].type == 'radio') &&
(form[oFloat[x][0]].value.length > 0)) {
var iValue = parseFloat(form[oFloat[x][0]].value);
if (isNaN(iValue)) {
if (i == 0) {
focusField = form[oFloat[x][0]];
}
fields[i++] = oFloat[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateEmail(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oEmail = new email();
for (x in oEmail) {
if ((form[oEmail[x][0]].type == 'text' ||
form[oEmail[x][0]].type == 'textarea') &&
(form[oEmail[x][0]].value.length > 0)) {
if (!checkEmail(form[oEmail[x][0]].value)) {
if (i == 0) {
focusField = form[oEmail[x][0]];
}
fields[i++] = oEmail[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
/**
* Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
* http://javascript.internet.com
*/
function checkEmail(emailStr) {
if (emailStr.length == 0) {
return true;
}
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray == null) {
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
if (user.match(userPat) == null) {
return false;
}
var IPArray = domain.match(ipDomainPat);
if (IPArray != null) {
for (var i = 1; i <= 4; i++) {
if (IPArray[i] > 255) {
return false;
}
}
return true;
}
var domainArray=domain.match(domainPat);
if (domainArray == null) {
return false;
}
var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length;
if ((domArr[domArr.length-1].length < 2) ||
(domArr[domArr.length-1].length > 3)) {
return false;
}
if (len < 2) {
return false;
}
return true;
}
/**
* Used when each element of a radioGroup is associated
* with an additional field that must be filled in if the value
* of the radioGroup matches a value associated with this element.
*
* define:
* vars radioGroup, radioValue
* args 0
* msg
*/
function validateRadioChecked(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRadioChecked = new radioChecked();
for (x in oRadioChecked) {
if ((form[oRadioChecked[x][0]].type == 'text' ||
form[oRadioChecked[x][0]].type == 'textarea' ||
form[oRadioChecked[x][0]].type == 'password') &&
(form[oRadioChecked[x][0]].value == '')) {
var radioValue = oRadioChecked[x][2]("radioValue");
var radioGroup = form[oRadioChecked[x][2]("radioGroup")];
// alert(radioGroup);
// alert('element: ['+form[oRadioChecked[x][0]].value+'], value wanted: ['+radioValue+'], value: ['+radioGroup.value+']');
if (radioGroup != null) {
if (radioGroup.checked && radioGroup.value != radioValue)
bValid = false;
}
if (!bValid) {
if (i == 0) {
focusField = form[oRadioChecked[x][0]];
}
fields[i++] = oRadioChecked[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateMask(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oMasked = new mask();
for (x in oMasked) {
if ((form[oMasked[x][0]].type == 'text' ||
form[oMasked[x][0]].type == 'textarea' ||
form[oMasked[x][0]].type == 'password') &&
(form[oMasked[x][0]].value.length > 0)) {
if (!matchPattern(form[oMasked[x][0]].value, oMasked[x][2]("mask"))) {
if (i == 0) {
focusField = form[oMasked[x][0]];
}
fields[i++] = oMasked[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function matchPattern(value, mask) {
var bMatched = mask.exec(value);
if (!bMatched) {
return false;
}
return true;
}
function validateMinLength(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oMinLength = new minlength();
for (x in oMinLength) {
if (form[oMinLength[x][0]].type == 'text' ||
form[oMinLength[x][0]].type == 'password' ||
form[oMinLength[x][0]].type == 'textarea') {
var iMin = parseInt(oMinLength[x][2]("minlength"));
// alert('minlength: ['+iMin+'], fieldlength: ['+form[oMinLength[x][0]].value.length+']');
if (!(form[oMinLength[x][0]].value.length >= iMin)) {
if (i == 0) {
focusField = form[oMinLength[x][0]];
}
fields[i++] = oMinLength[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
// End -->
</SCRIPT>
</head>
<body marginwidth="0" marginheight="0" onload="init()">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr class="topnavstrip">
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="239" alt=""></td>
<td width="2000"><img src="/tmobile-exmt/spacer.gif" height="1" width="6" alt=""></td>
</tr>
<tr class="topnavstrip">
<td><b> ExMT</b></td>
<td width="2000"><img src="/tmobile-exmt/spacer.gif" height="19" width="6" alt=""></td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr class="border">
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="250" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="480" alt=""></td>
<td width="2000"><img src="/tmobile-exmt/spacer.gif" height="1" width="6" alt=""></td>
</tr>
<tr>
<td class="mastheadTitle">ExMT Login</td>
<td align="right"><img src="/tmobile-exmt/masthead/images/mhTmobileLogo.gif" height="36" width="151" alt=""></td>
<td width="2000"><img src="/tmobile-exmt/spacer.gif" height="1" width="6" alt=""></td>
</tr>
</table>
<!-- START: Static Navigation Menu -->
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr class="border">
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="1" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="1" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="1" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="1" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="1" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" height="1" width="1" alt=""></td>
<td><img src="/tmobile-exmt/spacer.gif" alt=""></td>
<td width="2000"><img src="/tmobile-exmt/spacer.gif" height="1" width="6" alt=""></td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr class="masthead-nav-remainder">
<td>
<table border="0" cellpadding="0" cellspacing="0" width="752">
<tr class="masthead-nav">
<td width="2000" class="masthead-nav"> </td>
<td align="right"><img src="/tmobile-exmt/masthead/images/mhPlaceholderRt.jpg" alt=""></td>
<td class="border"><img src="/tmobile-exmt/spacer.gif" height="23" width="1" alt=""></td>
</tr>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="border"><img src="/spacer.gif" width="752" height="1" alt=""></td>
</tr>
</table>
<!-- END: Static Navigation Menu -->
<div class="main">
<table align='center' width='100%' border='0' cellpadding='3' cellspacing='0'>
<form name="loginForm" method="POST" action="/tmobile-exmt/validateLogin.do" onsubmit="return validateLoginForm(this);" target="_top">
<tr><td>
<div class="containerHeader">
<strong class="section">Log In</strong>
</div>
<div class="containerMessaging">
<p><span class="instructional">To access [the management tool], enter your email address and password in the fields below. Your password is case-sensitive, so be sure to enter it correctly.
<br><span class="required">*</span> Denotes required field.</span>
</p>
</div>
<div class='containerBody'><p>
<span class="required">*</span>
Email:<br>
<input type="text" name="email" value="" style="width:180px;">
<p>
<span class="required">*</span>
Password:<br>
<input type="password" name="password" value="" style="width:180px;">
<p>
<a href="/tmobile-exmt/passwordReminder.do">Forgot Password?</a><br>
If you have problems logging in, please contact your <a href="mailto:exmtadmin@t-mobile-exmt.com">User Administrator</a>.
</div>
<!-- START: Generic Footer -->
<div class="containerFooter">
<!-- derived: /codeLibrary/componentCode/buttons/primaryButton.inc -->
<table cellpadding="0" cellspacing="4" border="0" class="btnRow">
<tr valign="middle">
<td class="btnWrapper"><input type="submit" name="submit" value="Login" class="primaryBtn"></td>
</tr>
</table>
</div>
</td></tr>
</form>
<script language="JavaScript" type="text/javascript">
<!--
if (document.forms["loginForm"].elements["email"].type != "hidden")
document.forms["loginForm"].elements["email"].focus()
// -->
</script>
</table>
</div>
<!-- TEMPLATE: /DEFAULT -->
</body>
</html>
------=_NextPart_000_39b6_4145_73c8--